// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: DoFilter6_C
static WEBP_INLINE void DoFilter6_C(uint8_t* p, int step) {
  const int p2 = p[-3*step], p1 = p[-2*step], p0 = p[-step];
  const int q0 = p[0], q1 = p[step], q2 = p[2*step];
  const int a = VP8ksclip1[3 * (q0 - p0) + VP8ksclip1[p1 - q1]];
  // a is in [-128,127], a1 in [-27,27], a2 in [-18,18] and a3 in [-9,9]
  const int a1 = (27 * a + 63) >> 7;  // eq. to ((3 * a + 7) * 9) >> 7
  const int a2 = (18 * a + 63) >> 7;  // eq. to ((2 * a + 7) * 9) >> 7
  const int a3 = (9  * a + 63) >> 7;  // eq. to ((1 * a + 7) * 9) >> 7
  p[-3*step] = VP8kclip1[p2 + a3];
  p[-2*step] = VP8kclip1[p1 + a2];
  p[-  step] = VP8kclip1[p0 + a1];
  p[      0] = VP8kclip1[q0 - a1];
  p[   step] = VP8kclip1[q1 - a2];
  p[ 2*step] = VP8kclip1[q2 - a3];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
imull $0xfffffffd, -0xc(%rbp), %ecx # imm = 0xFFFFFFFD
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
imull $0xfffffffe, -0xc(%rbp), %ecx # imm = 0xFFFFFFFE
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
xorl %ecx, %ecx
subl -0xc(%rbp), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
shll %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x24(%rbp)
leaq 0xbb1b5(%rip), %rax     # 0x207fa0
movq (%rax), %rax
movl -0x1c(%rbp), %ecx
subl -0x18(%rbp), %ecx
imull $0x3, %ecx, %ecx
leaq 0xbb1a2(%rip), %rdx     # 0x207fa0
movq (%rdx), %rdx
movl -0x14(%rbp), %esi
subl -0x20(%rbp), %esi
movslq %esi, %rsi
movsbl (%rdx,%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movl %eax, -0x28(%rbp)
imull $0x1b, -0x28(%rbp), %eax
addl $0x3f, %eax
sarl $0x7, %eax
movl %eax, -0x2c(%rbp)
imull $0x12, -0x28(%rbp), %eax
addl $0x3f, %eax
sarl $0x7, %eax
movl %eax, -0x30(%rbp)
imull $0x9, -0x28(%rbp), %eax
addl $0x3f, %eax
sarl $0x7, %eax
movl %eax, -0x34(%rbp)
leaq 0xbb168(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x10(%rbp), %ecx
addl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
imull $0xfffffffd, -0xc(%rbp), %ecx # imm = 0xFFFFFFFD
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0xbb141(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x14(%rbp), %ecx
addl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
imull $0xfffffffe, -0xc(%rbp), %ecx # imm = 0xFFFFFFFE
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0xbb11a(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x18(%rbp), %ecx
addl -0x2c(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
xorl %ecx, %ecx
subl -0xc(%rbp), %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0xbb0f5(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x1c(%rbp), %ecx
subl -0x2c(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %cl
movq -0x8(%rbp), %rax
movb %cl, (%rax)
leaq 0xbb0d9(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x20(%rbp), %ecx
subl -0x30(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movb %dl, (%rax,%rcx)
leaq 0xbb0b8(%rip), %rax     # 0x207fb0
movq (%rax), %rax
movl -0x24(%rbp), %ecx
subl -0x34(%rbp), %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
shll %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
popq %rbp
retq
nopl (%rax,%rax)