// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: RD4_C
static void RD4_C(uint8_t* dst) {   // Down-right
  const int I = dst[-1 + 0 * BPS];
  const int J = dst[-1 + 1 * BPS];
  const int K = dst[-1 + 2 * BPS];
  const int L = dst[-1 + 3 * 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, 3)                                     = AVG3(J, K, L);
  DST(1, 3) = DST(0, 2)                         = AVG3(I, J, K);
  DST(2, 3) = DST(1, 2) = DST(0, 1)             = AVG3(X, I, J);
  DST(3, 3) = DST(2, 2) = DST(1, 1) = DST(0, 0) = AVG3(A, X, I);
              DST(3, 2) = DST(2, 1) = DST(1, 0) = AVG3(B, A, X);
                          DST(3, 1) = DST(2, 0) = AVG3(C, B, A);
                                      DST(3, 0) = AVG3(D, C, B);
}

// 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 0x5f(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x21(%rax), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x20(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1f(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1e(%rax), %eax
movl %eax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x1d(%rax), %eax
movl %eax, -0x2c(%rbp)
movl -0x10(%rbp), %eax
movl -0x14(%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, 0x60(%rax)
movl -0xc(%rbp), %eax
movl -0x10(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x14(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x40(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x61(%rax)
movl -0x1c(%rbp), %eax
movl -0xc(%rbp), %ecx
shll %ecx
addl %ecx, %eax
addl -0x10(%rbp), %eax
addl $0x2, %eax
sarl $0x2, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x20(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x41(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x62(%rax)
movl -0x20(%rbp), %eax
movl -0x1c(%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, (%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x21(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x42(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x63(%rax)
movl -0x24(%rbp), %eax
movl -0x20(%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, 0x1(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x22(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x43(%rax)
movl -0x28(%rbp), %eax
movl -0x24(%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, 0x2(%rax)
movq -0x8(%rbp), %rax
movb %cl, 0x23(%rax)
movl -0x2c(%rbp), %eax
movl -0x28(%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, 0x3(%rax)
popq %rbp
retq
nop