// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: VR4_C
static void VR4_C(uint8_t* dst) {   // Vertical-Right
  const int I = dst[-1 + 0 * BPS];
  const int J = dst[-1 + 1 * BPS];
  const int K = dst[-1 + 2 * BPS];
  const int X = dst[-1 - BPS];
  const int A = dst[0 - BPS];
  const int B = dst[1 - BPS];
  const int C = dst[2 - BPS];
  const int D = dst[3 - BPS];
  DST(0, 0) = DST(1, 2) = AVG2(X, A);
  DST(1, 0) = DST(2, 2) = AVG2(A, B);
  DST(2, 0) = DST(3, 2) = AVG2(B, C);
  DST(3, 0)             = AVG2(C, D);

  DST(0, 3) =             AVG3(K, J, I);
  DST(0, 2) =             AVG3(J, I, X);
  DST(0, 1) = DST(1, 3) = AVG3(I, X, A);
  DST(1, 1) = DST(2, 3) = AVG3(X, A, B);
  DST(2, 1) = DST(3, 3) = AVG3(A, B, C);
  DST(3, 1) =             AVG3(B, C, D);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1(%rax), %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x1f(%rax), %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x3f(%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x21(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x20(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1f(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1e(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1d(%rax), %eax
movl %eax, -0x28(%rbp)
movl -0x18(%rbp), %eax
addl -0x1c(%rbp), %eax
addl $0x1, %eax
sarl %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x41(%rax)
movq -0x8(%rbp), %rax
movb %cl, (%rax)
movl -0x1c(%rbp), %eax
addl -0x20(%rbp), %eax
addl $0x1, %eax
sarl %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x42(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x1(%rax)
movl -0x20(%rbp), %eax
addl -0x24(%rbp), %eax
addl $0x1, %eax
sarl %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x43(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x2(%rax)
movl -0x24(%rbp), %eax
addl -0x28(%rbp), %eax
addl $0x1, %eax
sarl %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x3(%rax)
movl -0x14(%rbp), %eax
movl -0x10(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0xc(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x60(%rax)
movl -0x10(%rbp), %eax
movl -0xc(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x18(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x40(%rax)
movl -0xc(%rbp), %eax
movl -0x18(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x1c(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x61(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x20(%rax)
movl -0x18(%rbp), %eax
movl -0x1c(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x20(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x62(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x21(%rax)
movl -0x1c(%rbp), %eax
movl -0x20(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x24(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x63(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x22(%rax)
movl -0x20(%rbp), %eax
movl -0x24(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x28(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x23(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)