// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec_sse2.c
// Function: HFilter16_SSE2
static void HFilter16_SSE2(uint8_t* p, int stride,
                           int thresh, int ithresh, int hev_thresh) {
  __m128i mask;
  __m128i p3, p2, p1, p0, q0, q1, q2, q3;

  uint8_t* const b = p - 4;
  Load16x4_SSE2(b, b + 8 * stride, stride, &p3, &p2, &p1, &p0);
  MAX_DIFF1(p3, p2, p1, p0, mask);

  Load16x4_SSE2(p, p + 8 * stride, stride, &q0, &q1, &q2, &q3);
  MAX_DIFF2(q3, q2, q1, q0, mask);

  ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask);
  DoFilter6_SSE2(&p2, &p1, &p0, &q0, &q1, &q2, &mask, hev_thresh);

  Store16x4_SSE2(&p3, &p2, &p1, &p0, b, b + 8 * stride, stride);
  Store16x4_SSE2(&q0, &q1, &q2, &q3, p, p + 8 * stride, stride);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movslq %esi, %rax
leaq (,%rax,8), %rbx
leaq -0x4(%rdi,%rax,8), %r9
leaq (%rax,%rax), %rsi
leaq (%rsi,%rsi,2), %r14
leaq -0x4(%rdi,%rax,4), %r10
movd -0x4(%rdi,%rax,2), %xmm0
movd -0x4(%rdi,%r14), %xmm1
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movd (%r10), %xmm2
movd -0x4(%rdi), %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subq %rax, %rbx
leaq (%rax,%rax,2), %r11
movd (%r9,%r14), %xmm2
leaq (%rdi,%rax,8), %rsi
movd (%rdi,%r14), %xmm3
movd (%rsi,%r14), %xmm10
leaq (%rax,%rax,4), %r15
movd -0x4(%rdi,%r11), %xmm4
movd -0x4(%rdi,%rbx), %xmm5
punpckldq %xmm5, %xmm4    # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]
punpcklbw %xmm4, %xmm0    # xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3],xmm0[4],xmm4[4],xmm0[5],xmm4[5],xmm0[6],xmm4[6],xmm0[7],xmm4[7]
movd -0x4(%rdi,%rax), %xmm4
movd -0x4(%rdi,%r15), %xmm5
punpckldq %xmm5, %xmm4    # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]
punpcklbw %xmm4, %xmm1    # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3],xmm1[4],xmm4[4],xmm1[5],xmm4[5],xmm1[6],xmm4[6],xmm1[7],xmm4[7]
movdqa %xmm1, %xmm9
punpcklwd %xmm0, %xmm9    # xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1],xmm9[2],xmm0[2],xmm9[3],xmm0[3]
punpckhwd %xmm0, %xmm1    # xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
movdqa %xmm9, %xmm4
punpckldq %xmm1, %xmm4    # xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]
punpckhdq %xmm1, %xmm9    # xmm9 = xmm9[2],xmm1[2],xmm9[3],xmm1[3]
movd (%rbx,%r9), %xmm5
movd (%rdi,%rbx), %xmm1
movd (%rbx,%rsi), %xmm0
leaq (%r9,%rax,4), %r14
movd (%r9,%rax,2), %xmm6
punpckldq %xmm2, %xmm6    # xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1]
movd -0x4(%rdi,%rax,8), %xmm2
movd (%r14), %xmm7
punpckldq %xmm7, %xmm2    # xmm2 = xmm2[0],xmm7[0],xmm2[1],xmm7[1]
movd (%r9,%r11), %xmm7
punpckldq %xmm5, %xmm7    # xmm7 = xmm7[0],xmm5[0],xmm7[1],xmm5[1]
punpcklbw %xmm7, %xmm6    # xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3],xmm6[4],xmm7[4],xmm6[5],xmm7[5],xmm6[6],xmm7[6],xmm6[7],xmm7[7]
movd (%r9,%r15), %xmm5
movd (%rax,%r9), %xmm7
punpckldq %xmm5, %xmm7    # xmm7 = xmm7[0],xmm5[0],xmm7[1],xmm5[1]
punpcklbw %xmm7, %xmm2    # xmm2 = xmm2[0],xmm7[0],xmm2[1],xmm7[1],xmm2[2],xmm7[2],xmm2[3],xmm7[3],xmm2[4],xmm7[4],xmm2[5],xmm7[5],xmm2[6],xmm7[6],xmm2[7],xmm7[7]
movdqa %xmm2, %xmm5
punpcklwd %xmm6, %xmm5    # xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]
punpckhwd %xmm6, %xmm2    # xmm2 = xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]
movdqa %xmm5, %xmm6
punpckldq %xmm2, %xmm6    # xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1]
punpckhdq %xmm2, %xmm5    # xmm5 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]
movdqa %xmm4, %xmm2
punpcklqdq %xmm6, %xmm2    # xmm2 = xmm2[0],xmm6[0]
movdqa %xmm4, %xmm7
punpckhqdq %xmm6, %xmm7    # xmm7 = xmm7[1],xmm6[1]
movdqa %xmm9, %xmm6
punpcklqdq %xmm5, %xmm6    # xmm6 = xmm6[0],xmm5[0]
punpckhqdq %xmm5, %xmm9    # xmm9 = xmm9[1],xmm5[1]
movdqa %xmm9, %xmm5
psubusb %xmm6, %xmm5
movdqa %xmm6, %xmm8
psubusb %xmm9, %xmm8
por %xmm5, %xmm8
movdqa %xmm7, %xmm5
psubusb %xmm2, %xmm5
movdqa %xmm2, %xmm13
psubusb %xmm7, %xmm13
por %xmm5, %xmm13
pmaxub %xmm8, %xmm13
movdqa %xmm6, %xmm5
psubusb %xmm7, %xmm5
movdqa %xmm7, %xmm11
psubusb %xmm6, %xmm11
por %xmm5, %xmm11
movd (%rdi,%r11), %xmm5
movd (%rsi,%r11), %xmm12
leaq (%rdi,%rax,4), %rbx
movd (%rdi,%rax,2), %xmm14
punpckldq %xmm3, %xmm14   # xmm14 = xmm14[0],xmm3[0],xmm14[1],xmm3[1]
movd (%rbx), %xmm3
movd (%rdi), %xmm15
punpckldq %xmm3, %xmm15   # xmm15 = xmm15[0],xmm3[0],xmm15[1],xmm3[1]
punpckldq %xmm1, %xmm5    # xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1]
punpcklbw %xmm5, %xmm14   # xmm14 = xmm14[0],xmm5[0],xmm14[1],xmm5[1],xmm14[2],xmm5[2],xmm14[3],xmm5[3],xmm14[4],xmm5[4],xmm14[5],xmm5[5],xmm14[6],xmm5[6],xmm14[7],xmm5[7]
movd (%rdi,%rax), %xmm1
movd (%rdi,%r15), %xmm3
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
punpcklbw %xmm1, %xmm15   # xmm15 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3],xmm15[4],xmm1[4],xmm15[5],xmm1[5],xmm15[6],xmm1[6],xmm15[7],xmm1[7]
movdqa %xmm15, %xmm3
punpcklwd %xmm14, %xmm3   # xmm3 = xmm3[0],xmm14[0],xmm3[1],xmm14[1],xmm3[2],xmm14[2],xmm3[3],xmm14[3]
punpckhwd %xmm14, %xmm15  # xmm15 = xmm15[4],xmm14[4],xmm15[5],xmm14[5],xmm15[6],xmm14[6],xmm15[7],xmm14[7]
movdqa %xmm3, %xmm5
punpckldq %xmm15, %xmm5   # xmm5 = xmm5[0],xmm15[0],xmm5[1],xmm15[1]
punpckhdq %xmm15, %xmm3   # xmm3 = xmm3[2],xmm15[2],xmm3[3],xmm15[3]
movd (%rsi,%r15), %xmm1
leaq (%rsi,%rax,4), %r11
movd (%rsi,%rax,2), %xmm14
punpckldq %xmm10, %xmm14  # xmm14 = xmm14[0],xmm10[0],xmm14[1],xmm10[1]
movd (%rdi,%rax,8), %xmm10
movd (%r11), %xmm15
punpckldq %xmm15, %xmm10  # xmm10 = xmm10[0],xmm15[0],xmm10[1],xmm15[1]
punpckldq %xmm0, %xmm12   # xmm12 = xmm12[0],xmm0[0],xmm12[1],xmm0[1]
punpcklbw %xmm12, %xmm14  # xmm14 = xmm14[0],xmm12[0],xmm14[1],xmm12[1],xmm14[2],xmm12[2],xmm14[3],xmm12[3],xmm14[4],xmm12[4],xmm14[5],xmm12[5],xmm14[6],xmm12[6],xmm14[7],xmm12[7]
movd (%rax,%rsi), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
punpcklbw %xmm0, %xmm10   # xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1],xmm10[2],xmm0[2],xmm10[3],xmm0[3],xmm10[4],xmm0[4],xmm10[5],xmm0[5],xmm10[6],xmm0[6],xmm10[7],xmm0[7]
movdqa %xmm10, %xmm12
punpcklwd %xmm14, %xmm12  # xmm12 = xmm12[0],xmm14[0],xmm12[1],xmm14[1],xmm12[2],xmm14[2],xmm12[3],xmm14[3]
punpckhwd %xmm14, %xmm10  # xmm10 = xmm10[4],xmm14[4],xmm10[5],xmm14[5],xmm10[6],xmm14[6],xmm10[7],xmm14[7]
movdqa %xmm12, %xmm1
punpckldq %xmm10, %xmm1   # xmm1 = xmm1[0],xmm10[0],xmm1[1],xmm10[1]
punpckhdq %xmm10, %xmm12  # xmm12 = xmm12[2],xmm10[2],xmm12[3],xmm10[3]
movdqa %xmm5, %xmm0
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
punpckhqdq %xmm1, %xmm5    # xmm5 = xmm5[1],xmm1[1]
movdqa %xmm3, %xmm1
punpcklqdq %xmm12, %xmm1   # xmm1 = xmm1[0],xmm12[0]
punpckhqdq %xmm12, %xmm3   # xmm3 = xmm3[1],xmm12[1]
movdqa %xmm0, %xmm10
psubusb %xmm5, %xmm10
movdqa %xmm5, %xmm12
psubusb %xmm0, %xmm12
por %xmm10, %xmm12
pmaxub %xmm12, %xmm11
pmaxub %xmm13, %xmm11
movdqa %xmm1, %xmm10
psubusb %xmm3, %xmm10
movdqa %xmm3, %xmm13
psubusb %xmm1, %xmm13
por %xmm10, %xmm13
movdqa %xmm5, %xmm10
psubusb %xmm1, %xmm10
movdqa %xmm1, %xmm14
psubusb %xmm5, %xmm14
por %xmm10, %xmm14
pmaxub %xmm13, %xmm14
pmaxub %xmm11, %xmm14
movd %ecx, %xmm10
punpcklbw %xmm10, %xmm10  # xmm10 = xmm10[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
pshuflw $0x0, %xmm10, %xmm10    # xmm10 = xmm10[0,0,0,0,4,5,6,7]
pshufd $0x0, %xmm10, %xmm11    # xmm11 = xmm10[0,0,0,0]
pminub %xmm14, %xmm11
pcmpeqb %xmm14, %xmm11
movd %edx, %xmm10
punpcklbw %xmm10, %xmm10  # xmm10 = xmm10[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
pshuflw $0x0, %xmm10, %xmm10    # xmm10 = xmm10[0,0,0,0,4,5,6,7]
pshufd $0x0, %xmm10, %xmm10    # xmm10 = xmm10[0,0,0,0]
movdqa %xmm5, %xmm13
psubusb %xmm6, %xmm13
movdqa %xmm6, %xmm14
psubusb %xmm5, %xmm14
por %xmm13, %xmm14
psrlw $0x1, %xmm14
movdqa %xmm0, %xmm13
psubusb %xmm9, %xmm13
movdqa %xmm9, %xmm15
psubusb %xmm0, %xmm15
por %xmm13, %xmm15
pand 0x45cb8(%rip), %xmm14   # 0x128ea0
paddusb %xmm15, %xmm15
paddusb %xmm15, %xmm14
pminub %xmm14, %xmm10
pcmpeqb %xmm14, %xmm10
pand %xmm11, %xmm10
movd %r8d, %xmm11
punpcklbw %xmm11, %xmm11  # xmm11 = xmm11[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
pshuflw $0x0, %xmm11, %xmm11    # xmm11 = xmm11[0,0,0,0,4,5,6,7]
pshufd $0x0, %xmm11, %xmm14    # xmm14 = xmm11[0,0,0,0]
pmaxub %xmm8, %xmm12
pminub %xmm12, %xmm14
pcmpeqb %xmm12, %xmm14
movdqa 0x474a1(%rip), %xmm8    # 0x12a6d0
pxor %xmm8, %xmm6
pxor %xmm8, %xmm9
pxor %xmm8, %xmm0
pxor %xmm8, %xmm5
movdqa %xmm6, %xmm12
psubsb %xmm5, %xmm12
movdqa %xmm0, %xmm11
psubsb %xmm9, %xmm11
paddsb %xmm11, %xmm12
paddsb %xmm11, %xmm12
paddsb %xmm11, %xmm12
movdqa %xmm14, %xmm13
pandn %xmm12, %xmm13
pand %xmm10, %xmm13
movdqa 0x49a52(%rip), %xmm15   # 0x12ccd0
paddsb %xmm13, %xmm15
punpcklbw %xmm15, %xmm11  # xmm11 = xmm11[0],xmm15[0],xmm11[1],xmm15[1],xmm11[2],xmm15[2],xmm11[3],xmm15[3],xmm11[4],xmm15[4],xmm11[5],xmm15[5],xmm11[6],xmm15[6],xmm11[7],xmm15[7]
punpckhbw %xmm15, %xmm15  # xmm15 = xmm15[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
psraw $0xb, %xmm11
psraw $0xb, %xmm15
packsswb %xmm15, %xmm11
pxor %xmm15, %xmm15
paddsb %xmm9, %xmm11
pand %xmm14, %xmm12
pand %xmm10, %xmm12
pxor %xmm10, %xmm10
punpcklbw %xmm12, %xmm10  # xmm10 = xmm10[0],xmm12[0],xmm10[1],xmm12[1],xmm10[2],xmm12[2],xmm10[3],xmm12[3],xmm10[4],xmm12[4],xmm10[5],xmm12[5],xmm10[6],xmm12[6],xmm10[7],xmm12[7]
pxor %xmm9, %xmm9
punpckhbw %xmm12, %xmm9   # xmm9 = xmm9[8],xmm12[8],xmm9[9],xmm12[9],xmm9[10],xmm12[10],xmm9[11],xmm12[11],xmm9[12],xmm12[12],xmm9[13],xmm12[13],xmm9[14],xmm12[14],xmm9[15],xmm12[15]
movdqa %xmm9, %xmm14
punpcklbw %xmm15, %xmm14  # xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3],xmm14[4],xmm15[4],xmm14[5],xmm15[5],xmm14[6],xmm15[6],xmm14[7],xmm15[7]
punpckhbw %xmm15, %xmm9   # xmm9 = xmm9[8],xmm15[8],xmm9[9],xmm15[9],xmm9[10],xmm15[10],xmm9[11],xmm15[11],xmm9[12],xmm15[12],xmm9[13],xmm15[13],xmm9[14],xmm15[14],xmm9[15],xmm15[15]
pshufd $0x6c, %xmm9, %xmm9     # xmm9 = xmm9[0,3,2,1]
pshuflw $0xc4, %xmm9, %xmm9     # xmm9 = xmm9[0,1,0,3,4,5,6,7]
pshufd $0x6c, %xmm9, %xmm9     # xmm9 = xmm9[0,3,2,1]
pshufhw $0xc6, %xmm9, %xmm9     # xmm9 = xmm9[0,1,2,3,6,5,4,7]
pand 0x4996a(%rip), %xmm9    # 0x12cc60
packuswb %xmm9, %xmm14
movdqa 0x499ec(%rip), %xmm9    # 0x12ccf0
pmulhw %xmm9, %xmm10
pmulhw %xmm9, %xmm14
movdqa 0x499e9(%rip), %xmm15   # 0x12cd00
movdqa %xmm10, %xmm9
paddw %xmm15, %xmm9
paddw %xmm14, %xmm15
movdqa %xmm9, %xmm12
psraw $0x7, %xmm9
movdqa %xmm15, %xmm8
psraw $0x7, %xmm15
packsswb %xmm15, %xmm9
leaq -0x4(%rdi), %rcx
paddsb 0x49992(%rip), %xmm13   # 0x12cce0
paddw %xmm10, %xmm12
paddw %xmm14, %xmm8
paddw %xmm12, %xmm10
paddw %xmm8, %xmm14
psraw $0x7, %xmm12
psraw $0x7, %xmm8
packsswb %xmm8, %xmm12
movdqa 0x47354(%rip), %xmm8    # 0x12a6d0
pxor %xmm15, %xmm15
punpcklbw %xmm13, %xmm15  # xmm15 = xmm15[0],xmm13[0],xmm15[1],xmm13[1],xmm15[2],xmm13[2],xmm15[3],xmm13[3],xmm15[4],xmm13[4],xmm15[5],xmm13[5],xmm15[6],xmm13[6],xmm15[7],xmm13[7]
punpckhbw %xmm13, %xmm13  # xmm13 = xmm13[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
psraw $0xb, %xmm13
pxor %xmm8, %xmm7
paddsb %xmm9, %xmm7
pxor %xmm8, %xmm1
paddsb %xmm12, %xmm6
psraw $0x7, %xmm10
psraw $0x7, %xmm14
packsswb %xmm14, %xmm10
paddsb %xmm10, %xmm11
pxor %xmm8, %xmm7
punpcklbw %xmm7, %xmm4    # xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3],xmm4[4],xmm7[4],xmm4[5],xmm7[5],xmm4[6],xmm7[6],xmm4[7],xmm7[7]
punpckhbw %xmm7, %xmm2    # xmm2 = xmm2[8],xmm7[8],xmm2[9],xmm7[9],xmm2[10],xmm7[10],xmm2[11],xmm7[11],xmm2[12],xmm7[12],xmm2[13],xmm7[13],xmm2[14],xmm7[14],xmm2[15],xmm7[15]
pxor %xmm8, %xmm6
pxor %xmm8, %xmm11
movdqa %xmm6, %xmm14
punpcklbw %xmm11, %xmm14  # xmm14 = xmm14[0],xmm11[0],xmm14[1],xmm11[1],xmm14[2],xmm11[2],xmm14[3],xmm11[3],xmm14[4],xmm11[4],xmm14[5],xmm11[5],xmm14[6],xmm11[6],xmm14[7],xmm11[7]
punpckhbw %xmm11, %xmm6   # xmm6 = xmm6[8],xmm11[8],xmm6[9],xmm11[9],xmm6[10],xmm11[10],xmm6[11],xmm11[11],xmm6[12],xmm11[12],xmm6[13],xmm11[13],xmm6[14],xmm11[14],xmm6[15],xmm11[15]
movdqa %xmm4, %xmm11
punpcklwd %xmm14, %xmm11  # xmm11 = xmm11[0],xmm14[0],xmm11[1],xmm14[1],xmm11[2],xmm14[2],xmm11[3],xmm14[3]
movdqa %xmm2, %xmm7
punpcklwd %xmm6, %xmm7    # xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]
movd %xmm11, %r8d
movl $0x4, %edx
movl %r8d, (%rcx)
psrldq $0x4, %xmm11            # xmm11 = xmm11[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %rcx
movd %xmm11, %r8d
decl %edx
jne 0xe33fd
psraw $0xb, %xmm15
packsswb %xmm13, %xmm15
psubsb %xmm15, %xmm0
psubsb %xmm12, %xmm5
punpckhwd %xmm14, %xmm4   # xmm4 = xmm4[4],xmm14[4],xmm4[5],xmm14[5],xmm4[6],xmm14[6],xmm4[7],xmm14[7]
movd %xmm4, %edx
movl $0x4, %ecx
movl %edx, (%r10)
psrldq $0x4, %xmm4             # xmm4 = xmm4[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %r10
movd %xmm4, %edx
decl %ecx
jne 0xe3435
psubsb %xmm10, %xmm0
movd %xmm7, %edx
movl $0x4, %ecx
movl %edx, (%r9)
psrldq $0x4, %xmm7             # xmm7 = xmm7[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %r9
movd %xmm7, %edx
decl %ecx
jne 0xe3456
punpckhwd %xmm6, %xmm2    # xmm2 = xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]
movd %xmm2, %edx
movl $0x4, %ecx
movl %edx, (%r14)
psrldq $0x4, %xmm2             # xmm2 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %r14
movd %xmm2, %edx
decl %ecx
jne 0xe3476
psubsb %xmm9, %xmm1
pxor %xmm8, %xmm0
pxor %xmm8, %xmm5
movdqa %xmm0, %xmm4
punpcklbw %xmm5, %xmm4    # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]
punpckhbw %xmm5, %xmm0    # xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]
pxor %xmm8, %xmm1
movdqa %xmm1, %xmm5
punpcklbw %xmm3, %xmm5    # xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3],xmm5[4],xmm3[4],xmm5[5],xmm3[5],xmm5[6],xmm3[6],xmm5[7],xmm3[7]
punpckhbw %xmm3, %xmm1    # xmm1 = xmm1[8],xmm3[8],xmm1[9],xmm3[9],xmm1[10],xmm3[10],xmm1[11],xmm3[11],xmm1[12],xmm3[12],xmm1[13],xmm3[13],xmm1[14],xmm3[14],xmm1[15],xmm3[15]
movdqa %xmm4, %xmm3
punpcklwd %xmm5, %xmm3    # xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]
movdqa %xmm0, %xmm2
punpcklwd %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]
movd %xmm3, %edx
movl $0x4, %ecx
movl %edx, (%rdi)
psrldq $0x4, %xmm3             # xmm3 = xmm3[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %rdi
movd %xmm3, %edx
decl %ecx
jne 0xe34ce
punpckhwd %xmm5, %xmm4    # xmm4 = xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]
movd %xmm4, %edx
movl $0x4, %ecx
movl %edx, (%rbx)
psrldq $0x4, %xmm4             # xmm4 = xmm4[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %rbx
movd %xmm4, %edx
decl %ecx
jne 0xe34ed
movd %xmm2, %edx
movl $0x4, %ecx
movl %edx, (%rsi)
psrldq $0x4, %xmm2             # xmm2 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %rsi
movd %xmm2, %edx
decl %ecx
jne 0xe3508
punpckhwd %xmm1, %xmm0    # xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
movd %xmm0, %edx
movl $0x4, %ecx
movl %edx, (%r11)
psrldq $0x4, %xmm0             # xmm0 = xmm0[4,5,6,7,8,9,10,11,12,13,14,15],zero,zero,zero,zero
addq %rax, %r11
movd %xmm0, %edx
decl %ecx
jne 0xe3527
popq %rbx
popq %r14
popq %r15
retq