void main(int nArgC, char *pArgv[]) {
  void *pSrc = malloc(16);
  void *pDst = malloc(16);
  int nIter = atoi(pArgv[1]);
  int i;
  for (i = 0; i < nIter; i++) {
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignb_c(pDst, pSrc, 0);
      test_psignb_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignb_c(pDst, pSrc, 1);
      test_psignb_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignw_c(pDst, pSrc, 0);
      test_psignw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignw_c(pDst, pSrc, 1);
      test_psignw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignd_c(pDst, pSrc, 0);
      test_psignd_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_psignd_c(pDst, pSrc, 1);
      test_psignd_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsb_c(pDst, pSrc, 0);
      test_pabsb_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsb_c(pDst, pSrc, 1);
      test_pabsb_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsw_c(pDst, pSrc, 0);
      test_pabsw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsw_c(pDst, pSrc, 1);
      test_pabsw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsd_c(pDst, pSrc, 0);
      test_pabsd_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pabsd_c(pDst, pSrc, 1);
      test_pabsd_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddw_c(pDst, pSrc, 0);
      test_phaddw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddw_c(pDst, pSrc, 1);
      test_phaddw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddsw_c(pDst, pSrc, 0);
      test_phaddsw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddsw_c(pDst, pSrc, 1);
      test_phaddsw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddd_c(pDst, pSrc, 0);
      test_phaddd_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phaddd_c(pDst, pSrc, 1);
      test_phaddd_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubw_c(pDst, pSrc, 0);
      test_phsubw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubw_c(pDst, pSrc, 1);
      test_phsubw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubsw_c(pDst, pSrc, 0);
      test_phsubsw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubsw_c(pDst, pSrc, 1);
      test_phsubsw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubd_c(pDst, pSrc, 0);
      test_phsubd_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_phsubd_c(pDst, pSrc, 1);
      test_phsubd_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pmulhrsw_c(pDst, pSrc, 0);
      test_pmulhrsw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pmulhrsw_c(pDst, pSrc, 1);
      test_pmulhrsw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pmaddubsw_c(pDst, pSrc, 0);
      test_pmaddubsw_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pmaddubsw_c(pDst, pSrc, 1);
      test_pmaddubsw_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pshufb_c(pDst, pSrc, 0);
      test_pshufb_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_pshufb_c(pDst, pSrc, 1);
      test_pshufb_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_palignr_c(pDst, pSrc, 0);
      test_palignr_mmx(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 0)));
    } while (0);
    do {
      unsigned char temp_dst[16];
      unsigned char temp_src[16];
      randomize_args(pDst, pSrc);
      memcpy(temp_dst, pDst, 16);
      memcpy(temp_src, pSrc, 16);
      test_palignr_c(pDst, pSrc, 1);
      test_palignr_xmm(temp_dst, temp_src);
      assert(!memcmp(pDst, temp_dst, (8 << 1)));
    } while (0);
  }
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x430,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    $0x10,%edi
call   2200 <malloc@plt>
mov    %rax,-0x18(%rbp)
mov    $0x10,%edi
call   2200 <malloc@plt>
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%rdi
mov    $0x0,%al
call   2310 <atoi@plt>
mov    %eax,-0x24(%rbp)
movl   $0x0,-0x28(%rbp)
mov    -0x28(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    3880 <main+0x1440>
jmp    2498 <main+0x58>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x40(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x38(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x50(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x48(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2340 <test_psignb_c@plt>
lea    -0x40(%rbp),%rdi
lea    -0x50(%rbp),%rsi
mov    $0x0,%al
call   22f0 <test_psignb_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x40(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    251d <main+0xdd>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x60(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x58(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x70(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x68(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2340 <test_psignb_c@plt>
lea    -0x60(%rbp),%rdi
lea    -0x70(%rbp),%rsi
mov    $0x0,%al
call   22b0 <test_psignb_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x60(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    25af <main+0x16f>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x80(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x78(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x90(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x88(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2230 <test_psignw_c@plt>
lea    -0x80(%rbp),%rdi
lea    -0x90(%rbp),%rsi
mov    $0x0,%al
call   21b0 <test_psignw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x80(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    263d <main+0x1fd>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xa0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x98(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xb0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xa8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2230 <test_psignw_c@plt>
lea    -0xa0(%rbp),%rdi
lea    -0xb0(%rbp),%rsi
mov    $0x0,%al
call   2290 <test_psignw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0xa0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    26e4 <main+0x2a4>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xc0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xb8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xd0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xc8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2050 <test_psignd_c@plt>
lea    -0xc0(%rbp),%rdi
lea    -0xd0(%rbp),%rsi
mov    $0x0,%al
call   2140 <test_psignd_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0xc0(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    277e <main+0x33e>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xe0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xd8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0xf0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xe8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2050 <test_psignd_c@plt>
lea    -0xe0(%rbp),%rdi
lea    -0xf0(%rbp),%rsi
mov    $0x0,%al
call   20e0 <test_psignd_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0xe0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2825 <main+0x3e5>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x100(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0xf8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x110(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x108(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   20d0 <test_pabsb_c@plt>
lea    -0x100(%rbp),%rdi
lea    -0x110(%rbp),%rsi
mov    $0x0,%al
call   21a0 <test_pabsb_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x100(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    28bf <main+0x47f>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x120(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x118(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x130(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x128(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   20d0 <test_pabsb_c@plt>
lea    -0x120(%rbp),%rdi
lea    -0x130(%rbp),%rsi
mov    $0x0,%al
call   21c0 <test_pabsb_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x120(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2966 <main+0x526>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x140(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x138(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x150(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x148(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2180 <test_pabsw_c@plt>
lea    -0x140(%rbp),%rdi
lea    -0x150(%rbp),%rsi
mov    $0x0,%al
call   2110 <test_pabsw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x140(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2a00 <main+0x5c0>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x160(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x158(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x170(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x168(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2180 <test_pabsw_c@plt>
lea    -0x160(%rbp),%rdi
lea    -0x170(%rbp),%rsi
mov    $0x0,%al
call   22d0 <test_pabsw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x160(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2aa7 <main+0x667>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x180(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x178(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x190(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x188(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2080 <test_pabsd_c@plt>
lea    -0x180(%rbp),%rdi
lea    -0x190(%rbp),%rsi
mov    $0x0,%al
call   2120 <test_pabsd_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x180(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2b41 <main+0x701>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1a0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x198(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1b0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2080 <test_pabsd_c@plt>
lea    -0x1a0(%rbp),%rdi
lea    -0x1b0(%rbp),%rsi
mov    $0x0,%al
call   2220 <test_pabsd_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x1a0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2be8 <main+0x7a8>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1c0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1d0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1c8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2150 <test_phaddw_c@plt>
lea    -0x1c0(%rbp),%rdi
lea    -0x1d0(%rbp),%rsi
mov    $0x0,%al
call   21f0 <test_phaddw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x1c0(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2c82 <main+0x842>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1e0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1d8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x1f0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1e8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2150 <test_phaddw_c@plt>
lea    -0x1e0(%rbp),%rdi
lea    -0x1f0(%rbp),%rsi
mov    $0x0,%al
call   20a0 <test_phaddw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x1e0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2d29 <main+0x8e9>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x200(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x1f8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x210(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x208(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   20c0 <test_phaddsw_c@plt>
lea    -0x200(%rbp),%rdi
lea    -0x210(%rbp),%rsi
mov    $0x0,%al
call   2250 <test_phaddsw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x200(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2dc3 <main+0x983>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x220(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x218(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x230(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x228(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   20c0 <test_phaddsw_c@plt>
lea    -0x220(%rbp),%rdi
lea    -0x230(%rbp),%rsi
mov    $0x0,%al
call   2300 <test_phaddsw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x220(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2e6a <main+0xa2a>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x240(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x238(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x250(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x248(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2270 <test_phaddd_c@plt>
lea    -0x240(%rbp),%rdi
lea    -0x250(%rbp),%rsi
mov    $0x0,%al
call   2350 <test_phaddd_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x240(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2f04 <main+0xac4>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x260(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x258(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x270(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x268(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2270 <test_phaddd_c@plt>
lea    -0x260(%rbp),%rdi
lea    -0x270(%rbp),%rsi
mov    $0x0,%al
call   20f0 <test_phaddd_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x260(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    2fab <main+0xb6b>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x280(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x278(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x290(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x288(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2070 <test_phsubw_c@plt>
lea    -0x280(%rbp),%rdi
lea    -0x290(%rbp),%rsi
mov    $0x0,%al
call   2040 <test_phsubw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x280(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3045 <main+0xc05>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2a0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x298(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2b0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2a8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2070 <test_phsubw_c@plt>
lea    -0x2a0(%rbp),%rdi
lea    -0x2b0(%rbp),%rsi
mov    $0x0,%al
call   2320 <test_phsubw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x2a0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    30ec <main+0xcac>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2c0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2b8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2d0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2c8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2240 <test_phsubsw_c@plt>
lea    -0x2c0(%rbp),%rdi
lea    -0x2d0(%rbp),%rsi
mov    $0x0,%al
call   22c0 <test_phsubsw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x2c0(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3186 <main+0xd46>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2e0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2d8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x2f0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2e8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2240 <test_phsubsw_c@plt>
lea    -0x2e0(%rbp),%rdi
lea    -0x2f0(%rbp),%rsi
mov    $0x0,%al
call   2190 <test_phsubsw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x2e0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    322d <main+0xded>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x300(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x2f8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x310(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x308(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2170 <test_phsubd_c@plt>
lea    -0x300(%rbp),%rdi
lea    -0x310(%rbp),%rsi
mov    $0x0,%al
call   2060 <test_phsubd_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x300(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    32c7 <main+0xe87>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x320(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x318(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x330(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x328(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2170 <test_phsubd_c@plt>
lea    -0x320(%rbp),%rdi
lea    -0x330(%rbp),%rsi
mov    $0x0,%al
call   22a0 <test_phsubd_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x320(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    336e <main+0xf2e>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x340(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x338(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x350(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x348(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2360 <test_pmulhrsw_c@plt>
lea    -0x340(%rbp),%rdi
lea    -0x350(%rbp),%rsi
mov    $0x0,%al
call   21e0 <test_pmulhrsw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x340(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3408 <main+0xfc8>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x360(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x358(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x370(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x368(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2360 <test_pmulhrsw_c@plt>
lea    -0x360(%rbp),%rdi
lea    -0x370(%rbp),%rsi
mov    $0x0,%al
call   2260 <test_pmulhrsw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x360(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    34af <main+0x106f>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x380(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x378(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x390(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x388(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   22e0 <test_pmaddubsw_c@plt>
lea    -0x380(%rbp),%rdi
lea    -0x390(%rbp),%rsi
mov    $0x0,%al
call   2030 <test_pmaddubsw_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x380(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3549 <main+0x1109>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3a0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x398(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3b0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3a8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   22e0 <test_pmaddubsw_c@plt>
lea    -0x3a0(%rbp),%rdi
lea    -0x3b0(%rbp),%rsi
mov    $0x0,%al
call   2330 <test_pmaddubsw_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x3a0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    35f0 <main+0x11b0>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3c0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3b8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3d0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3c8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   2280 <test_pshufb_c@plt>
lea    -0x3c0(%rbp),%rdi
lea    -0x3d0(%rbp),%rsi
mov    $0x0,%al
call   2210 <test_pshufb_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x3c0(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    368a <main+0x124a>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3e0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3d8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x3f0(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3e8(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   2280 <test_pshufb_c@plt>
lea    -0x3e0(%rbp),%rdi
lea    -0x3f0(%rbp),%rsi
mov    $0x0,%al
call   2090 <test_pshufb_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x3e0(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3731 <main+0x12f1>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x400(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x3f8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x410(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x408(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
xor    %edx,%edx
mov    $0x0,%al
call   21d0 <test_palignr_c@plt>
lea    -0x400(%rbp),%rdi
lea    -0x410(%rbp),%rsi
mov    $0x0,%al
call   2100 <test_palignr_mmx@plt>
mov    -0x20(%rbp),%rax
lea    -0x400(%rbp),%rcx
mov    (%rcx),%rcx
mov    (%rax),%rax
sub    %rcx,%rax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    37cb <main+0x138b>
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x0,%al
call   2130 <randomize_args@plt>
mov    -0x20(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x420(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x418(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%rcx
mov    %rcx,-0x430(%rbp)
mov    0x8(%rax),%rax
mov    %rax,-0x428(%rbp)
mov    -0x20(%rbp),%rdi
mov    -0x18(%rbp),%rsi
mov    $0x1,%edx
mov    $0x0,%al
call   21d0 <test_palignr_c@plt>
lea    -0x420(%rbp),%rdi
lea    -0x430(%rbp),%rsi
mov    $0x0,%al
call   20b0 <test_palignr_xmm@plt>
mov    -0x20(%rbp),%rax
lea    -0x420(%rbp),%rcx
movups (%rcx),%xmm1
movups (%rax),%xmm0
pcmpeqb %xmm1,%xmm0
pmovmskb %xmm0,%eax
sub    $0xffff,%eax
setne  %al
movzbl %al,%eax
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   2160 <assert@plt>
jmp    3872 <main+0x1432>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    2487 <main+0x47>
add    $0x430,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x20,%rsp
mov    %rsi,%rbp
mov    $0x10,%edi
call   2200 <malloc@plt>
mov    %rax,%r14
mov    $0x10,%edi
call   2200 <malloc@plt>
mov    %rax,%rbx
mov    0x8(%rbp),%rdi
xor    %eax,%eax
call   2310 <atoi@plt>
test   %eax,%eax
jle    2f1a <main+0xada>
mov    %eax,%r15d
mov    %rsp,%r12
lea    0x10(%rsp),%rbp
nopw   0x0(%rax,%rax,1)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2340 <test_psignb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   22f0 <test_psignb_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2340 <test_psignb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   22b0 <test_psignb_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2230 <test_psignw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   21b0 <test_psignw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2230 <test_psignw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2290 <test_psignw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2050 <test_psignd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2140 <test_psignd_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2050 <test_psignd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   20e0 <test_psignd_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   20d0 <test_pabsb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   21a0 <test_pabsb_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   20d0 <test_pabsb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   21c0 <test_pabsb_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2180 <test_pabsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2110 <test_pabsw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2180 <test_pabsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   22d0 <test_pabsw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2080 <test_pabsd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2120 <test_pabsd_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2080 <test_pabsd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2220 <test_pabsd_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2150 <test_phaddw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   21f0 <test_phaddw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2150 <test_phaddw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   20a0 <test_phaddw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   20c0 <test_phaddsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2250 <test_phaddsw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   20c0 <test_phaddsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2300 <test_phaddsw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2270 <test_phaddd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2350 <test_phaddd_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2270 <test_phaddd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   20f0 <test_phaddd_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2070 <test_phsubw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2040 <test_phsubw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2070 <test_phsubw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2320 <test_phsubw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2240 <test_phsubsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   22c0 <test_phsubsw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2240 <test_phsubsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2190 <test_phsubsw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2170 <test_phsubd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2060 <test_phsubd_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2170 <test_phsubd_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   22a0 <test_phsubd_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2360 <test_pmulhrsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   21e0 <test_pmulhrsw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2360 <test_pmulhrsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2260 <test_pmulhrsw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   22e0 <test_pmaddubsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2030 <test_pmaddubsw_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   22e0 <test_pmaddubsw_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2330 <test_pmaddubsw_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   2280 <test_pshufb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2210 <test_pshufb_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   2280 <test_pshufb_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2090 <test_pshufb_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %edx,%edx
xor    %eax,%eax
call   21d0 <test_palignr_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   2100 <test_palignr_mmx@plt>
mov    (%rbx),%rax
xor    %edi,%edi
cmp    (%rsp),%rax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   2130 <randomize_args@plt>
movups (%rbx),%xmm0
movaps %xmm0,(%rsp)
movups (%r14),%xmm0
movaps %xmm0,0x10(%rsp)
mov    %rbx,%rdi
mov    %r14,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   21d0 <test_palignr_c@plt>
mov    %r12,%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   20b0 <test_palignr_xmm@plt>
movdqu (%rbx),%xmm0
pcmpeqb (%rsp),%xmm0
pmovmskb %xmm0,%eax
xor    %edi,%edi
cmp    $0xffff,%eax
sete   %dil
xor    %eax,%eax
call   2160 <assert@plt>
add    $0xffffffff,%r15d
jne    2490 <main+0x50>
add    $0x20,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i8**
%5 = alloca i8*
%6 = alloca i8*
%7 = alloca i32
%8 = alloca i32
%9 = alloca [16 x i8]
%10 = alloca [16 x i8]
%11 = alloca [16 x i8]
%12 = alloca [16 x i8]
%13 = alloca [16 x i8]
%14 = alloca [16 x i8]
%15 = alloca [16 x i8]
%16 = alloca [16 x i8]
%17 = alloca [16 x i8]
%18 = alloca [16 x i8]
%19 = alloca [16 x i8]
%20 = alloca [16 x i8]
%21 = alloca [16 x i8]
%22 = alloca [16 x i8]
%23 = alloca [16 x i8]
%24 = alloca [16 x i8]
%25 = alloca [16 x i8]
%26 = alloca [16 x i8]
%27 = alloca [16 x i8]
%28 = alloca [16 x i8]
%29 = alloca [16 x i8]
%30 = alloca [16 x i8]
%31 = alloca [16 x i8]
%32 = alloca [16 x i8]
%33 = alloca [16 x i8]
%34 = alloca [16 x i8]
%35 = alloca [16 x i8]
%36 = alloca [16 x i8]
%37 = alloca [16 x i8]
%38 = alloca [16 x i8]
%39 = alloca [16 x i8]
%40 = alloca [16 x i8]
%41 = alloca [16 x i8]
%42 = alloca [16 x i8]
%43 = alloca [16 x i8]
%44 = alloca [16 x i8]
%45 = alloca [16 x i8]
%46 = alloca [16 x i8]
%47 = alloca [16 x i8]
%48 = alloca [16 x i8]
%49 = alloca [16 x i8]
%50 = alloca [16 x i8]
%51 = alloca [16 x i8]
%52 = alloca [16 x i8]
%53 = alloca [16 x i8]
%54 = alloca [16 x i8]
%55 = alloca [16 x i8]
%56 = alloca [16 x i8]
%57 = alloca [16 x i8]
%58 = alloca [16 x i8]
%59 = alloca [16 x i8]
%60 = alloca [16 x i8]
%61 = alloca [16 x i8]
%62 = alloca [16 x i8]
%63 = alloca [16 x i8]
%64 = alloca [16 x i8]
%65 = alloca [16 x i8]
%66 = alloca [16 x i8]
%67 = alloca [16 x i8]
%68 = alloca [16 x i8]
%69 = alloca [16 x i8]
%70 = alloca [16 x i8]
%71 = alloca [16 x i8]
%72 = alloca [16 x i8]
store i32 %0, i32* %3
store i8** %1, i8*** %4
%73 = call i8* @malloc(i64 16)
store i8* %73, i8** %5
%74 = call i8* @malloc(i64 16)
store i8* %74, i8** %6
%75 = load i8**, i8*** %4
%76 = getelementptr inbounds i8*, i8** %75, i64 1
%77 = load i8*, i8** %76
%78 = call i32 (i8*, ...) bitcast (i32 (...)* @atoi to i32 (i8*, ...)*)(i8* %77)
store i32 %78, i32* %7
store i32 0, i32* %8
br label %79
79: ; preds = %788, %2
%80 = load i32, i32* %8
%81 = load i32, i32* %7
%82 = icmp slt i32 %80, %81
br i1 %82, label %83, label %791
83: ; preds = %79
br label %84
84: ; preds = %83
%85 = load i8*, i8** %6
%86 = load i8*, i8** %5
%87 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %85, i8* %86)
%88 = getelementptr inbounds [16 x i8], [16 x i8]* %9, i64 0, i64 0
%89 = load i8*, i8** %6
%90 = getelementptr inbounds [16 x i8], [16 x i8]* %10, i64 0, i64 0
%91 = load i8*, i8** %5
%92 = load i8*, i8** %6
%93 = load i8*, i8** %5
%94 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignb_c to i32 (i8*, i8*, i32, ...)*)(i8* %92, i8* %93, i32 0)
%95 = getelementptr inbounds [16 x i8], [16 x i8]* %9, i64 0, i64 0
%96 = getelementptr inbounds [16 x i8], [16 x i8]* %10, i64 0, i64 0
%97 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignb_mmx to i32 (i8*, i8*, ...)*)(i8* %95, i8* %96)
%98 = load i8*, i8** %6
%99 = getelementptr inbounds [16 x i8], [16 x i8]* %9, i64 0, i64 0
%100 = call i32 @memcmp(i8* %98, i8* %99, i64 8)
%101 = icmp ne i32 %100, 0
%102 = xor i1 %101, true
%103 = zext i1 %102 to i32
%104 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %103)
br label %105
105: ; preds = %84
br label %106
106: ; preds = %105
%107 = load i8*, i8** %6
%108 = load i8*, i8** %5
%109 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %107, i8* %108)
%110 = getelementptr inbounds [16 x i8], [16 x i8]* %11, i64 0, i64 0
%111 = load i8*, i8** %6
%112 = getelementptr inbounds [16 x i8], [16 x i8]* %12, i64 0, i64 0
%113 = load i8*, i8** %5
%114 = load i8*, i8** %6
%115 = load i8*, i8** %5
%116 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignb_c to i32 (i8*, i8*, i32, ...)*)(i8* %114, i8* %115, i32 1)
%117 = getelementptr inbounds [16 x i8], [16 x i8]* %11, i64 0, i64 0
%118 = getelementptr inbounds [16 x i8], [16 x i8]* %12, i64 0, i64 0
%119 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignb_xmm to i32 (i8*, i8*, ...)*)(i8* %117, i8* %118)
%120 = load i8*, i8** %6
%121 = getelementptr inbounds [16 x i8], [16 x i8]* %11, i64 0, i64 0
%122 = call i32 @memcmp(i8* %120, i8* %121, i64 16)
%123 = icmp ne i32 %122, 0
%124 = xor i1 %123, true
%125 = zext i1 %124 to i32
%126 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %125)
br label %127
127: ; preds = %106
br label %128
128: ; preds = %127
%129 = load i8*, i8** %6
%130 = load i8*, i8** %5
%131 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %129, i8* %130)
%132 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%133 = load i8*, i8** %6
%134 = getelementptr inbounds [16 x i8], [16 x i8]* %14, i64 0, i64 0
%135 = load i8*, i8** %5
%136 = load i8*, i8** %6
%137 = load i8*, i8** %5
%138 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignw_c to i32 (i8*, i8*, i32, ...)*)(i8* %136, i8* %137, i32 0)
%139 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%140 = getelementptr inbounds [16 x i8], [16 x i8]* %14, i64 0, i64 0
%141 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignw_mmx to i32 (i8*, i8*, ...)*)(i8* %139, i8* %140)
%142 = load i8*, i8** %6
%143 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%144 = call i32 @memcmp(i8* %142, i8* %143, i64 8)
%145 = icmp ne i32 %144, 0
%146 = xor i1 %145, true
%147 = zext i1 %146 to i32
%148 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %147)
br label %149
149: ; preds = %128
br label %150
150: ; preds = %149
%151 = load i8*, i8** %6
%152 = load i8*, i8** %5
%153 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %151, i8* %152)
%154 = getelementptr inbounds [16 x i8], [16 x i8]* %15, i64 0, i64 0
%155 = load i8*, i8** %6
%156 = getelementptr inbounds [16 x i8], [16 x i8]* %16, i64 0, i64 0
%157 = load i8*, i8** %5
%158 = load i8*, i8** %6
%159 = load i8*, i8** %5
%160 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignw_c to i32 (i8*, i8*, i32, ...)*)(i8* %158, i8* %159, i32 1)
%161 = getelementptr inbounds [16 x i8], [16 x i8]* %15, i64 0, i64 0
%162 = getelementptr inbounds [16 x i8], [16 x i8]* %16, i64 0, i64 0
%163 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignw_xmm to i32 (i8*, i8*, ...)*)(i8* %161, i8* %162)
%164 = load i8*, i8** %6
%165 = getelementptr inbounds [16 x i8], [16 x i8]* %15, i64 0, i64 0
%166 = call i32 @memcmp(i8* %164, i8* %165, i64 16)
%167 = icmp ne i32 %166, 0
%168 = xor i1 %167, true
%169 = zext i1 %168 to i32
%170 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %169)
br label %171
171: ; preds = %150
br label %172
172: ; preds = %171
%173 = load i8*, i8** %6
%174 = load i8*, i8** %5
%175 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %173, i8* %174)
%176 = getelementptr inbounds [16 x i8], [16 x i8]* %17, i64 0, i64 0
%177 = load i8*, i8** %6
%178 = getelementptr inbounds [16 x i8], [16 x i8]* %18, i64 0, i64 0
%179 = load i8*, i8** %5
%180 = load i8*, i8** %6
%181 = load i8*, i8** %5
%182 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignd_c to i32 (i8*, i8*, i32, ...)*)(i8* %180, i8* %181, i32 0)
%183 = getelementptr inbounds [16 x i8], [16 x i8]* %17, i64 0, i64 0
%184 = getelementptr inbounds [16 x i8], [16 x i8]* %18, i64 0, i64 0
%185 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignd_mmx to i32 (i8*, i8*, ...)*)(i8* %183, i8* %184)
%186 = load i8*, i8** %6
%187 = getelementptr inbounds [16 x i8], [16 x i8]* %17, i64 0, i64 0
%188 = call i32 @memcmp(i8* %186, i8* %187, i64 8)
%189 = icmp ne i32 %188, 0
%190 = xor i1 %189, true
%191 = zext i1 %190 to i32
%192 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %191)
br label %193
193: ; preds = %172
br label %194
194: ; preds = %193
%195 = load i8*, i8** %6
%196 = load i8*, i8** %5
%197 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %195, i8* %196)
%198 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 0
%199 = load i8*, i8** %6
%200 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 0
%201 = load i8*, i8** %5
%202 = load i8*, i8** %6
%203 = load i8*, i8** %5
%204 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignd_c to i32 (i8*, i8*, i32, ...)*)(i8* %202, i8* %203, i32 1)
%205 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 0
%206 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 0
%207 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignd_xmm to i32 (i8*, i8*, ...)*)(i8* %205, i8* %206)
%208 = load i8*, i8** %6
%209 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 0
%210 = call i32 @memcmp(i8* %208, i8* %209, i64 16)
%211 = icmp ne i32 %210, 0
%212 = xor i1 %211, true
%213 = zext i1 %212 to i32
%214 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %213)
br label %215
215: ; preds = %194
br label %216
216: ; preds = %215
%217 = load i8*, i8** %6
%218 = load i8*, i8** %5
%219 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %217, i8* %218)
%220 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 0
%221 = load i8*, i8** %6
%222 = getelementptr inbounds [16 x i8], [16 x i8]* %22, i64 0, i64 0
%223 = load i8*, i8** %5
%224 = load i8*, i8** %6
%225 = load i8*, i8** %5
%226 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsb_c to i32 (i8*, i8*, i32, ...)*)(i8* %224, i8* %225, i32 0)
%227 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 0
%228 = getelementptr inbounds [16 x i8], [16 x i8]* %22, i64 0, i64 0
%229 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsb_mmx to i32 (i8*, i8*, ...)*)(i8* %227, i8* %228)
%230 = load i8*, i8** %6
%231 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 0
%232 = call i32 @memcmp(i8* %230, i8* %231, i64 8)
%233 = icmp ne i32 %232, 0
%234 = xor i1 %233, true
%235 = zext i1 %234 to i32
%236 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %235)
br label %237
237: ; preds = %216
br label %238
238: ; preds = %237
%239 = load i8*, i8** %6
%240 = load i8*, i8** %5
%241 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %239, i8* %240)
%242 = getelementptr inbounds [16 x i8], [16 x i8]* %23, i64 0, i64 0
%243 = load i8*, i8** %6
%244 = getelementptr inbounds [16 x i8], [16 x i8]* %24, i64 0, i64 0
%245 = load i8*, i8** %5
%246 = load i8*, i8** %6
%247 = load i8*, i8** %5
%248 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsb_c to i32 (i8*, i8*, i32, ...)*)(i8* %246, i8* %247, i32 1)
%249 = getelementptr inbounds [16 x i8], [16 x i8]* %23, i64 0, i64 0
%250 = getelementptr inbounds [16 x i8], [16 x i8]* %24, i64 0, i64 0
%251 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsb_xmm to i32 (i8*, i8*, ...)*)(i8* %249, i8* %250)
%252 = load i8*, i8** %6
%253 = getelementptr inbounds [16 x i8], [16 x i8]* %23, i64 0, i64 0
%254 = call i32 @memcmp(i8* %252, i8* %253, i64 16)
%255 = icmp ne i32 %254, 0
%256 = xor i1 %255, true
%257 = zext i1 %256 to i32
%258 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %257)
br label %259
259: ; preds = %238
br label %260
260: ; preds = %259
%261 = load i8*, i8** %6
%262 = load i8*, i8** %5
%263 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %261, i8* %262)
%264 = getelementptr inbounds [16 x i8], [16 x i8]* %25, i64 0, i64 0
%265 = load i8*, i8** %6
%266 = getelementptr inbounds [16 x i8], [16 x i8]* %26, i64 0, i64 0
%267 = load i8*, i8** %5
%268 = load i8*, i8** %6
%269 = load i8*, i8** %5
%270 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %268, i8* %269, i32 0)
%271 = getelementptr inbounds [16 x i8], [16 x i8]* %25, i64 0, i64 0
%272 = getelementptr inbounds [16 x i8], [16 x i8]* %26, i64 0, i64 0
%273 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsw_mmx to i32 (i8*, i8*, ...)*)(i8* %271, i8* %272)
%274 = load i8*, i8** %6
%275 = getelementptr inbounds [16 x i8], [16 x i8]* %25, i64 0, i64 0
%276 = call i32 @memcmp(i8* %274, i8* %275, i64 8)
%277 = icmp ne i32 %276, 0
%278 = xor i1 %277, true
%279 = zext i1 %278 to i32
%280 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %279)
br label %281
281: ; preds = %260
br label %282
282: ; preds = %281
%283 = load i8*, i8** %6
%284 = load i8*, i8** %5
%285 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %283, i8* %284)
%286 = getelementptr inbounds [16 x i8], [16 x i8]* %27, i64 0, i64 0
%287 = load i8*, i8** %6
%288 = getelementptr inbounds [16 x i8], [16 x i8]* %28, i64 0, i64 0
%289 = load i8*, i8** %5
%290 = load i8*, i8** %6
%291 = load i8*, i8** %5
%292 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %290, i8* %291, i32 1)
%293 = getelementptr inbounds [16 x i8], [16 x i8]* %27, i64 0, i64 0
%294 = getelementptr inbounds [16 x i8], [16 x i8]* %28, i64 0, i64 0
%295 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsw_xmm to i32 (i8*, i8*, ...)*)(i8* %293, i8* %294)
%296 = load i8*, i8** %6
%297 = getelementptr inbounds [16 x i8], [16 x i8]* %27, i64 0, i64 0
%298 = call i32 @memcmp(i8* %296, i8* %297, i64 16)
%299 = icmp ne i32 %298, 0
%300 = xor i1 %299, true
%301 = zext i1 %300 to i32
%302 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %301)
br label %303
303: ; preds = %282
br label %304
304: ; preds = %303
%305 = load i8*, i8** %6
%306 = load i8*, i8** %5
%307 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %305, i8* %306)
%308 = getelementptr inbounds [16 x i8], [16 x i8]* %29, i64 0, i64 0
%309 = load i8*, i8** %6
%310 = getelementptr inbounds [16 x i8], [16 x i8]* %30, i64 0, i64 0
%311 = load i8*, i8** %5
%312 = load i8*, i8** %6
%313 = load i8*, i8** %5
%314 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsd_c to i32 (i8*, i8*, i32, ...)*)(i8* %312, i8* %313, i32 0)
%315 = getelementptr inbounds [16 x i8], [16 x i8]* %29, i64 0, i64 0
%316 = getelementptr inbounds [16 x i8], [16 x i8]* %30, i64 0, i64 0
%317 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsd_mmx to i32 (i8*, i8*, ...)*)(i8* %315, i8* %316)
%318 = load i8*, i8** %6
%319 = getelementptr inbounds [16 x i8], [16 x i8]* %29, i64 0, i64 0
%320 = call i32 @memcmp(i8* %318, i8* %319, i64 8)
%321 = icmp ne i32 %320, 0
%322 = xor i1 %321, true
%323 = zext i1 %322 to i32
%324 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %323)
br label %325
325: ; preds = %304
br label %326
326: ; preds = %325
%327 = load i8*, i8** %6
%328 = load i8*, i8** %5
%329 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %327, i8* %328)
%330 = getelementptr inbounds [16 x i8], [16 x i8]* %31, i64 0, i64 0
%331 = load i8*, i8** %6
%332 = getelementptr inbounds [16 x i8], [16 x i8]* %32, i64 0, i64 0
%333 = load i8*, i8** %5
%334 = load i8*, i8** %6
%335 = load i8*, i8** %5
%336 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsd_c to i32 (i8*, i8*, i32, ...)*)(i8* %334, i8* %335, i32 1)
%337 = getelementptr inbounds [16 x i8], [16 x i8]* %31, i64 0, i64 0
%338 = getelementptr inbounds [16 x i8], [16 x i8]* %32, i64 0, i64 0
%339 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsd_xmm to i32 (i8*, i8*, ...)*)(i8* %337, i8* %338)
%340 = load i8*, i8** %6
%341 = getelementptr inbounds [16 x i8], [16 x i8]* %31, i64 0, i64 0
%342 = call i32 @memcmp(i8* %340, i8* %341, i64 16)
%343 = icmp ne i32 %342, 0
%344 = xor i1 %343, true
%345 = zext i1 %344 to i32
%346 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %345)
br label %347
347: ; preds = %326
br label %348
348: ; preds = %347
%349 = load i8*, i8** %6
%350 = load i8*, i8** %5
%351 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %349, i8* %350)
%352 = getelementptr inbounds [16 x i8], [16 x i8]* %33, i64 0, i64 0
%353 = load i8*, i8** %6
%354 = getelementptr inbounds [16 x i8], [16 x i8]* %34, i64 0, i64 0
%355 = load i8*, i8** %5
%356 = load i8*, i8** %6
%357 = load i8*, i8** %5
%358 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddw_c to i32 (i8*, i8*, i32, ...)*)(i8* %356, i8* %357, i32 0)
%359 = getelementptr inbounds [16 x i8], [16 x i8]* %33, i64 0, i64 0
%360 = getelementptr inbounds [16 x i8], [16 x i8]* %34, i64 0, i64 0
%361 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddw_mmx to i32 (i8*, i8*, ...)*)(i8* %359, i8* %360)
%362 = load i8*, i8** %6
%363 = getelementptr inbounds [16 x i8], [16 x i8]* %33, i64 0, i64 0
%364 = call i32 @memcmp(i8* %362, i8* %363, i64 8)
%365 = icmp ne i32 %364, 0
%366 = xor i1 %365, true
%367 = zext i1 %366 to i32
%368 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %367)
br label %369
369: ; preds = %348
br label %370
370: ; preds = %369
%371 = load i8*, i8** %6
%372 = load i8*, i8** %5
%373 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %371, i8* %372)
%374 = getelementptr inbounds [16 x i8], [16 x i8]* %35, i64 0, i64 0
%375 = load i8*, i8** %6
%376 = getelementptr inbounds [16 x i8], [16 x i8]* %36, i64 0, i64 0
%377 = load i8*, i8** %5
%378 = load i8*, i8** %6
%379 = load i8*, i8** %5
%380 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddw_c to i32 (i8*, i8*, i32, ...)*)(i8* %378, i8* %379, i32 1)
%381 = getelementptr inbounds [16 x i8], [16 x i8]* %35, i64 0, i64 0
%382 = getelementptr inbounds [16 x i8], [16 x i8]* %36, i64 0, i64 0
%383 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddw_xmm to i32 (i8*, i8*, ...)*)(i8* %381, i8* %382)
%384 = load i8*, i8** %6
%385 = getelementptr inbounds [16 x i8], [16 x i8]* %35, i64 0, i64 0
%386 = call i32 @memcmp(i8* %384, i8* %385, i64 16)
%387 = icmp ne i32 %386, 0
%388 = xor i1 %387, true
%389 = zext i1 %388 to i32
%390 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %389)
br label %391
391: ; preds = %370
br label %392
392: ; preds = %391
%393 = load i8*, i8** %6
%394 = load i8*, i8** %5
%395 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %393, i8* %394)
%396 = getelementptr inbounds [16 x i8], [16 x i8]* %37, i64 0, i64 0
%397 = load i8*, i8** %6
%398 = getelementptr inbounds [16 x i8], [16 x i8]* %38, i64 0, i64 0
%399 = load i8*, i8** %5
%400 = load i8*, i8** %6
%401 = load i8*, i8** %5
%402 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %400, i8* %401, i32 0)
%403 = getelementptr inbounds [16 x i8], [16 x i8]* %37, i64 0, i64 0
%404 = getelementptr inbounds [16 x i8], [16 x i8]* %38, i64 0, i64 0
%405 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddsw_mmx to i32 (i8*, i8*, ...)*)(i8* %403, i8* %404)
%406 = load i8*, i8** %6
%407 = getelementptr inbounds [16 x i8], [16 x i8]* %37, i64 0, i64 0
%408 = call i32 @memcmp(i8* %406, i8* %407, i64 8)
%409 = icmp ne i32 %408, 0
%410 = xor i1 %409, true
%411 = zext i1 %410 to i32
%412 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %411)
br label %413
413: ; preds = %392
br label %414
414: ; preds = %413
%415 = load i8*, i8** %6
%416 = load i8*, i8** %5
%417 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %415, i8* %416)
%418 = getelementptr inbounds [16 x i8], [16 x i8]* %39, i64 0, i64 0
%419 = load i8*, i8** %6
%420 = getelementptr inbounds [16 x i8], [16 x i8]* %40, i64 0, i64 0
%421 = load i8*, i8** %5
%422 = load i8*, i8** %6
%423 = load i8*, i8** %5
%424 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %422, i8* %423, i32 1)
%425 = getelementptr inbounds [16 x i8], [16 x i8]* %39, i64 0, i64 0
%426 = getelementptr inbounds [16 x i8], [16 x i8]* %40, i64 0, i64 0
%427 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddsw_xmm to i32 (i8*, i8*, ...)*)(i8* %425, i8* %426)
%428 = load i8*, i8** %6
%429 = getelementptr inbounds [16 x i8], [16 x i8]* %39, i64 0, i64 0
%430 = call i32 @memcmp(i8* %428, i8* %429, i64 16)
%431 = icmp ne i32 %430, 0
%432 = xor i1 %431, true
%433 = zext i1 %432 to i32
%434 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %433)
br label %435
435: ; preds = %414
br label %436
436: ; preds = %435
%437 = load i8*, i8** %6
%438 = load i8*, i8** %5
%439 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %437, i8* %438)
%440 = getelementptr inbounds [16 x i8], [16 x i8]* %41, i64 0, i64 0
%441 = load i8*, i8** %6
%442 = getelementptr inbounds [16 x i8], [16 x i8]* %42, i64 0, i64 0
%443 = load i8*, i8** %5
%444 = load i8*, i8** %6
%445 = load i8*, i8** %5
%446 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddd_c to i32 (i8*, i8*, i32, ...)*)(i8* %444, i8* %445, i32 0)
%447 = getelementptr inbounds [16 x i8], [16 x i8]* %41, i64 0, i64 0
%448 = getelementptr inbounds [16 x i8], [16 x i8]* %42, i64 0, i64 0
%449 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddd_mmx to i32 (i8*, i8*, ...)*)(i8* %447, i8* %448)
%450 = load i8*, i8** %6
%451 = getelementptr inbounds [16 x i8], [16 x i8]* %41, i64 0, i64 0
%452 = call i32 @memcmp(i8* %450, i8* %451, i64 8)
%453 = icmp ne i32 %452, 0
%454 = xor i1 %453, true
%455 = zext i1 %454 to i32
%456 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %455)
br label %457
457: ; preds = %436
br label %458
458: ; preds = %457
%459 = load i8*, i8** %6
%460 = load i8*, i8** %5
%461 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %459, i8* %460)
%462 = getelementptr inbounds [16 x i8], [16 x i8]* %43, i64 0, i64 0
%463 = load i8*, i8** %6
%464 = getelementptr inbounds [16 x i8], [16 x i8]* %44, i64 0, i64 0
%465 = load i8*, i8** %5
%466 = load i8*, i8** %6
%467 = load i8*, i8** %5
%468 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddd_c to i32 (i8*, i8*, i32, ...)*)(i8* %466, i8* %467, i32 1)
%469 = getelementptr inbounds [16 x i8], [16 x i8]* %43, i64 0, i64 0
%470 = getelementptr inbounds [16 x i8], [16 x i8]* %44, i64 0, i64 0
%471 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddd_xmm to i32 (i8*, i8*, ...)*)(i8* %469, i8* %470)
%472 = load i8*, i8** %6
%473 = getelementptr inbounds [16 x i8], [16 x i8]* %43, i64 0, i64 0
%474 = call i32 @memcmp(i8* %472, i8* %473, i64 16)
%475 = icmp ne i32 %474, 0
%476 = xor i1 %475, true
%477 = zext i1 %476 to i32
%478 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %477)
br label %479
479: ; preds = %458
br label %480
480: ; preds = %479
%481 = load i8*, i8** %6
%482 = load i8*, i8** %5
%483 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %481, i8* %482)
%484 = getelementptr inbounds [16 x i8], [16 x i8]* %45, i64 0, i64 0
%485 = load i8*, i8** %6
%486 = getelementptr inbounds [16 x i8], [16 x i8]* %46, i64 0, i64 0
%487 = load i8*, i8** %5
%488 = load i8*, i8** %6
%489 = load i8*, i8** %5
%490 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubw_c to i32 (i8*, i8*, i32, ...)*)(i8* %488, i8* %489, i32 0)
%491 = getelementptr inbounds [16 x i8], [16 x i8]* %45, i64 0, i64 0
%492 = getelementptr inbounds [16 x i8], [16 x i8]* %46, i64 0, i64 0
%493 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubw_mmx to i32 (i8*, i8*, ...)*)(i8* %491, i8* %492)
%494 = load i8*, i8** %6
%495 = getelementptr inbounds [16 x i8], [16 x i8]* %45, i64 0, i64 0
%496 = call i32 @memcmp(i8* %494, i8* %495, i64 8)
%497 = icmp ne i32 %496, 0
%498 = xor i1 %497, true
%499 = zext i1 %498 to i32
%500 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %499)
br label %501
501: ; preds = %480
br label %502
502: ; preds = %501
%503 = load i8*, i8** %6
%504 = load i8*, i8** %5
%505 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %503, i8* %504)
%506 = getelementptr inbounds [16 x i8], [16 x i8]* %47, i64 0, i64 0
%507 = load i8*, i8** %6
%508 = getelementptr inbounds [16 x i8], [16 x i8]* %48, i64 0, i64 0
%509 = load i8*, i8** %5
%510 = load i8*, i8** %6
%511 = load i8*, i8** %5
%512 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubw_c to i32 (i8*, i8*, i32, ...)*)(i8* %510, i8* %511, i32 1)
%513 = getelementptr inbounds [16 x i8], [16 x i8]* %47, i64 0, i64 0
%514 = getelementptr inbounds [16 x i8], [16 x i8]* %48, i64 0, i64 0
%515 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubw_xmm to i32 (i8*, i8*, ...)*)(i8* %513, i8* %514)
%516 = load i8*, i8** %6
%517 = getelementptr inbounds [16 x i8], [16 x i8]* %47, i64 0, i64 0
%518 = call i32 @memcmp(i8* %516, i8* %517, i64 16)
%519 = icmp ne i32 %518, 0
%520 = xor i1 %519, true
%521 = zext i1 %520 to i32
%522 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %521)
br label %523
523: ; preds = %502
br label %524
524: ; preds = %523
%525 = load i8*, i8** %6
%526 = load i8*, i8** %5
%527 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %525, i8* %526)
%528 = getelementptr inbounds [16 x i8], [16 x i8]* %49, i64 0, i64 0
%529 = load i8*, i8** %6
%530 = getelementptr inbounds [16 x i8], [16 x i8]* %50, i64 0, i64 0
%531 = load i8*, i8** %5
%532 = load i8*, i8** %6
%533 = load i8*, i8** %5
%534 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %532, i8* %533, i32 0)
%535 = getelementptr inbounds [16 x i8], [16 x i8]* %49, i64 0, i64 0
%536 = getelementptr inbounds [16 x i8], [16 x i8]* %50, i64 0, i64 0
%537 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubsw_mmx to i32 (i8*, i8*, ...)*)(i8* %535, i8* %536)
%538 = load i8*, i8** %6
%539 = getelementptr inbounds [16 x i8], [16 x i8]* %49, i64 0, i64 0
%540 = call i32 @memcmp(i8* %538, i8* %539, i64 8)
%541 = icmp ne i32 %540, 0
%542 = xor i1 %541, true
%543 = zext i1 %542 to i32
%544 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %543)
br label %545
545: ; preds = %524
br label %546
546: ; preds = %545
%547 = load i8*, i8** %6
%548 = load i8*, i8** %5
%549 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %547, i8* %548)
%550 = getelementptr inbounds [16 x i8], [16 x i8]* %51, i64 0, i64 0
%551 = load i8*, i8** %6
%552 = getelementptr inbounds [16 x i8], [16 x i8]* %52, i64 0, i64 0
%553 = load i8*, i8** %5
%554 = load i8*, i8** %6
%555 = load i8*, i8** %5
%556 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %554, i8* %555, i32 1)
%557 = getelementptr inbounds [16 x i8], [16 x i8]* %51, i64 0, i64 0
%558 = getelementptr inbounds [16 x i8], [16 x i8]* %52, i64 0, i64 0
%559 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubsw_xmm to i32 (i8*, i8*, ...)*)(i8* %557, i8* %558)
%560 = load i8*, i8** %6
%561 = getelementptr inbounds [16 x i8], [16 x i8]* %51, i64 0, i64 0
%562 = call i32 @memcmp(i8* %560, i8* %561, i64 16)
%563 = icmp ne i32 %562, 0
%564 = xor i1 %563, true
%565 = zext i1 %564 to i32
%566 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %565)
br label %567
567: ; preds = %546
br label %568
568: ; preds = %567
%569 = load i8*, i8** %6
%570 = load i8*, i8** %5
%571 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %569, i8* %570)
%572 = getelementptr inbounds [16 x i8], [16 x i8]* %53, i64 0, i64 0
%573 = load i8*, i8** %6
%574 = getelementptr inbounds [16 x i8], [16 x i8]* %54, i64 0, i64 0
%575 = load i8*, i8** %5
%576 = load i8*, i8** %6
%577 = load i8*, i8** %5
%578 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubd_c to i32 (i8*, i8*, i32, ...)*)(i8* %576, i8* %577, i32 0)
%579 = getelementptr inbounds [16 x i8], [16 x i8]* %53, i64 0, i64 0
%580 = getelementptr inbounds [16 x i8], [16 x i8]* %54, i64 0, i64 0
%581 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubd_mmx to i32 (i8*, i8*, ...)*)(i8* %579, i8* %580)
%582 = load i8*, i8** %6
%583 = getelementptr inbounds [16 x i8], [16 x i8]* %53, i64 0, i64 0
%584 = call i32 @memcmp(i8* %582, i8* %583, i64 8)
%585 = icmp ne i32 %584, 0
%586 = xor i1 %585, true
%587 = zext i1 %586 to i32
%588 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %587)
br label %589
589: ; preds = %568
br label %590
590: ; preds = %589
%591 = load i8*, i8** %6
%592 = load i8*, i8** %5
%593 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %591, i8* %592)
%594 = getelementptr inbounds [16 x i8], [16 x i8]* %55, i64 0, i64 0
%595 = load i8*, i8** %6
%596 = getelementptr inbounds [16 x i8], [16 x i8]* %56, i64 0, i64 0
%597 = load i8*, i8** %5
%598 = load i8*, i8** %6
%599 = load i8*, i8** %5
%600 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubd_c to i32 (i8*, i8*, i32, ...)*)(i8* %598, i8* %599, i32 1)
%601 = getelementptr inbounds [16 x i8], [16 x i8]* %55, i64 0, i64 0
%602 = getelementptr inbounds [16 x i8], [16 x i8]* %56, i64 0, i64 0
%603 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubd_xmm to i32 (i8*, i8*, ...)*)(i8* %601, i8* %602)
%604 = load i8*, i8** %6
%605 = getelementptr inbounds [16 x i8], [16 x i8]* %55, i64 0, i64 0
%606 = call i32 @memcmp(i8* %604, i8* %605, i64 16)
%607 = icmp ne i32 %606, 0
%608 = xor i1 %607, true
%609 = zext i1 %608 to i32
%610 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %609)
br label %611
611: ; preds = %590
br label %612
612: ; preds = %611
%613 = load i8*, i8** %6
%614 = load i8*, i8** %5
%615 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %613, i8* %614)
%616 = getelementptr inbounds [16 x i8], [16 x i8]* %57, i64 0, i64 0
%617 = load i8*, i8** %6
%618 = getelementptr inbounds [16 x i8], [16 x i8]* %58, i64 0, i64 0
%619 = load i8*, i8** %5
%620 = load i8*, i8** %6
%621 = load i8*, i8** %5
%622 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmulhrsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %620, i8* %621, i32 0)
%623 = getelementptr inbounds [16 x i8], [16 x i8]* %57, i64 0, i64 0
%624 = getelementptr inbounds [16 x i8], [16 x i8]* %58, i64 0, i64 0
%625 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmulhrsw_mmx to i32 (i8*, i8*, ...)*)(i8* %623, i8* %624)
%626 = load i8*, i8** %6
%627 = getelementptr inbounds [16 x i8], [16 x i8]* %57, i64 0, i64 0
%628 = call i32 @memcmp(i8* %626, i8* %627, i64 8)
%629 = icmp ne i32 %628, 0
%630 = xor i1 %629, true
%631 = zext i1 %630 to i32
%632 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %631)
br label %633
633: ; preds = %612
br label %634
634: ; preds = %633
%635 = load i8*, i8** %6
%636 = load i8*, i8** %5
%637 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %635, i8* %636)
%638 = getelementptr inbounds [16 x i8], [16 x i8]* %59, i64 0, i64 0
%639 = load i8*, i8** %6
%640 = getelementptr inbounds [16 x i8], [16 x i8]* %60, i64 0, i64 0
%641 = load i8*, i8** %5
%642 = load i8*, i8** %6
%643 = load i8*, i8** %5
%644 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmulhrsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %642, i8* %643, i32 1)
%645 = getelementptr inbounds [16 x i8], [16 x i8]* %59, i64 0, i64 0
%646 = getelementptr inbounds [16 x i8], [16 x i8]* %60, i64 0, i64 0
%647 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmulhrsw_xmm to i32 (i8*, i8*, ...)*)(i8* %645, i8* %646)
%648 = load i8*, i8** %6
%649 = getelementptr inbounds [16 x i8], [16 x i8]* %59, i64 0, i64 0
%650 = call i32 @memcmp(i8* %648, i8* %649, i64 16)
%651 = icmp ne i32 %650, 0
%652 = xor i1 %651, true
%653 = zext i1 %652 to i32
%654 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %653)
br label %655
655: ; preds = %634
br label %656
656: ; preds = %655
%657 = load i8*, i8** %6
%658 = load i8*, i8** %5
%659 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %657, i8* %658)
%660 = getelementptr inbounds [16 x i8], [16 x i8]* %61, i64 0, i64 0
%661 = load i8*, i8** %6
%662 = getelementptr inbounds [16 x i8], [16 x i8]* %62, i64 0, i64 0
%663 = load i8*, i8** %5
%664 = load i8*, i8** %6
%665 = load i8*, i8** %5
%666 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmaddubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %664, i8* %665, i32 0)
%667 = getelementptr inbounds [16 x i8], [16 x i8]* %61, i64 0, i64 0
%668 = getelementptr inbounds [16 x i8], [16 x i8]* %62, i64 0, i64 0
%669 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmaddubsw_mmx to i32 (i8*, i8*, ...)*)(i8* %667, i8* %668)
%670 = load i8*, i8** %6
%671 = getelementptr inbounds [16 x i8], [16 x i8]* %61, i64 0, i64 0
%672 = call i32 @memcmp(i8* %670, i8* %671, i64 8)
%673 = icmp ne i32 %672, 0
%674 = xor i1 %673, true
%675 = zext i1 %674 to i32
%676 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %675)
br label %677
677: ; preds = %656
br label %678
678: ; preds = %677
%679 = load i8*, i8** %6
%680 = load i8*, i8** %5
%681 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %679, i8* %680)
%682 = getelementptr inbounds [16 x i8], [16 x i8]* %63, i64 0, i64 0
%683 = load i8*, i8** %6
%684 = getelementptr inbounds [16 x i8], [16 x i8]* %64, i64 0, i64 0
%685 = load i8*, i8** %5
%686 = load i8*, i8** %6
%687 = load i8*, i8** %5
%688 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmaddubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %686, i8* %687, i32 1)
%689 = getelementptr inbounds [16 x i8], [16 x i8]* %63, i64 0, i64 0
%690 = getelementptr inbounds [16 x i8], [16 x i8]* %64, i64 0, i64 0
%691 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmaddubsw_xmm to i32 (i8*, i8*, ...)*)(i8* %689, i8* %690)
%692 = load i8*, i8** %6
%693 = getelementptr inbounds [16 x i8], [16 x i8]* %63, i64 0, i64 0
%694 = call i32 @memcmp(i8* %692, i8* %693, i64 16)
%695 = icmp ne i32 %694, 0
%696 = xor i1 %695, true
%697 = zext i1 %696 to i32
%698 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %697)
br label %699
699: ; preds = %678
br label %700
700: ; preds = %699
%701 = load i8*, i8** %6
%702 = load i8*, i8** %5
%703 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %701, i8* %702)
%704 = getelementptr inbounds [16 x i8], [16 x i8]* %65, i64 0, i64 0
%705 = load i8*, i8** %6
%706 = getelementptr inbounds [16 x i8], [16 x i8]* %66, i64 0, i64 0
%707 = load i8*, i8** %5
%708 = load i8*, i8** %6
%709 = load i8*, i8** %5
%710 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pshufb_c to i32 (i8*, i8*, i32, ...)*)(i8* %708, i8* %709, i32 0)
%711 = getelementptr inbounds [16 x i8], [16 x i8]* %65, i64 0, i64 0
%712 = getelementptr inbounds [16 x i8], [16 x i8]* %66, i64 0, i64 0
%713 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pshufb_mmx to i32 (i8*, i8*, ...)*)(i8* %711, i8* %712)
%714 = load i8*, i8** %6
%715 = getelementptr inbounds [16 x i8], [16 x i8]* %65, i64 0, i64 0
%716 = call i32 @memcmp(i8* %714, i8* %715, i64 8)
%717 = icmp ne i32 %716, 0
%718 = xor i1 %717, true
%719 = zext i1 %718 to i32
%720 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %719)
br label %721
721: ; preds = %700
br label %722
722: ; preds = %721
%723 = load i8*, i8** %6
%724 = load i8*, i8** %5
%725 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %723, i8* %724)
%726 = getelementptr inbounds [16 x i8], [16 x i8]* %67, i64 0, i64 0
%727 = load i8*, i8** %6
%728 = getelementptr inbounds [16 x i8], [16 x i8]* %68, i64 0, i64 0
%729 = load i8*, i8** %5
%730 = load i8*, i8** %6
%731 = load i8*, i8** %5
%732 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pshufb_c to i32 (i8*, i8*, i32, ...)*)(i8* %730, i8* %731, i32 1)
%733 = getelementptr inbounds [16 x i8], [16 x i8]* %67, i64 0, i64 0
%734 = getelementptr inbounds [16 x i8], [16 x i8]* %68, i64 0, i64 0
%735 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pshufb_xmm to i32 (i8*, i8*, ...)*)(i8* %733, i8* %734)
%736 = load i8*, i8** %6
%737 = getelementptr inbounds [16 x i8], [16 x i8]* %67, i64 0, i64 0
%738 = call i32 @memcmp(i8* %736, i8* %737, i64 16)
%739 = icmp ne i32 %738, 0
%740 = xor i1 %739, true
%741 = zext i1 %740 to i32
%742 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %741)
br label %743
743: ; preds = %722
br label %744
744: ; preds = %743
%745 = load i8*, i8** %6
%746 = load i8*, i8** %5
%747 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %745, i8* %746)
%748 = getelementptr inbounds [16 x i8], [16 x i8]* %69, i64 0, i64 0
%749 = load i8*, i8** %6
%750 = getelementptr inbounds [16 x i8], [16 x i8]* %70, i64 0, i64 0
%751 = load i8*, i8** %5
%752 = load i8*, i8** %6
%753 = load i8*, i8** %5
%754 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_palignr_c to i32 (i8*, i8*, i32, ...)*)(i8* %752, i8* %753, i32 0)
%755 = getelementptr inbounds [16 x i8], [16 x i8]* %69, i64 0, i64 0
%756 = getelementptr inbounds [16 x i8], [16 x i8]* %70, i64 0, i64 0
%757 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_palignr_mmx to i32 (i8*, i8*, ...)*)(i8* %755, i8* %756)
%758 = load i8*, i8** %6
%759 = getelementptr inbounds [16 x i8], [16 x i8]* %69, i64 0, i64 0
%760 = call i32 @memcmp(i8* %758, i8* %759, i64 8)
%761 = icmp ne i32 %760, 0
%762 = xor i1 %761, true
%763 = zext i1 %762 to i32
%764 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %763)
br label %765
765: ; preds = %744
br label %766
766: ; preds = %765
%767 = load i8*, i8** %6
%768 = load i8*, i8** %5
%769 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %767, i8* %768)
%770 = getelementptr inbounds [16 x i8], [16 x i8]* %71, i64 0, i64 0
%771 = load i8*, i8** %6
%772 = getelementptr inbounds [16 x i8], [16 x i8]* %72, i64 0, i64 0
%773 = load i8*, i8** %5
%774 = load i8*, i8** %6
%775 = load i8*, i8** %5
%776 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_palignr_c to i32 (i8*, i8*, i32, ...)*)(i8* %774, i8* %775, i32 1)
%777 = getelementptr inbounds [16 x i8], [16 x i8]* %71, i64 0, i64 0
%778 = getelementptr inbounds [16 x i8], [16 x i8]* %72, i64 0, i64 0
%779 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_palignr_xmm to i32 (i8*, i8*, ...)*)(i8* %777, i8* %778)
%780 = load i8*, i8** %6
%781 = getelementptr inbounds [16 x i8], [16 x i8]* %71, i64 0, i64 0
%782 = call i32 @memcmp(i8* %780, i8* %781, i64 16)
%783 = icmp ne i32 %782, 0
%784 = xor i1 %783, true
%785 = zext i1 %784 to i32
%786 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %785)
br label %787
787: ; preds = %766
br label %788
788: ; preds = %787
%789 = load i32, i32* %8
%790 = add nsw i32 %789, 1
store i32 %790, i32* %8
br label %79
791: ; preds = %79
ret void
}

LLVM IR (-O2):
define void @main(i32 %0, i8** nocapture %1) {
%3 = alloca [16 x i8]
%4 = alloca [16 x i8]
%5 = alloca [16 x i8]
%6 = alloca [16 x i8]
%7 = alloca [16 x i8]
%8 = alloca [16 x i8]
%9 = alloca [16 x i8]
%10 = alloca [16 x i8]
%11 = alloca [16 x i8]
%12 = alloca [16 x i8]
%13 = alloca [16 x i8]
%14 = alloca [16 x i8]
%15 = alloca [16 x i8]
%16 = alloca [16 x i8]
%17 = alloca [16 x i8]
%18 = alloca [16 x i8]
%19 = alloca [16 x i8]
%20 = alloca [16 x i8]
%21 = alloca [16 x i8]
%22 = alloca [16 x i8]
%23 = alloca [16 x i8]
%24 = alloca [16 x i8]
%25 = alloca [16 x i8]
%26 = alloca [16 x i8]
%27 = alloca [16 x i8]
%28 = alloca [16 x i8]
%29 = alloca [16 x i8]
%30 = alloca [16 x i8]
%31 = alloca [16 x i8]
%32 = alloca [16 x i8]
%33 = alloca [16 x i8]
%34 = alloca [16 x i8]
%35 = alloca [16 x i8]
%36 = alloca [16 x i8]
%37 = alloca [16 x i8]
%38 = alloca [16 x i8]
%39 = alloca [16 x i8]
%40 = alloca [16 x i8]
%41 = alloca [16 x i8]
%42 = alloca [16 x i8]
%43 = alloca [16 x i8]
%44 = alloca [16 x i8]
%45 = alloca [16 x i8]
%46 = alloca [16 x i8]
%47 = alloca [16 x i8]
%48 = alloca [16 x i8]
%49 = alloca [16 x i8]
%50 = alloca [16 x i8]
%51 = alloca [16 x i8]
%52 = alloca [16 x i8]
%53 = alloca [16 x i8]
%54 = alloca [16 x i8]
%55 = alloca [16 x i8]
%56 = alloca [16 x i8]
%57 = alloca [16 x i8]
%58 = alloca [16 x i8]
%59 = alloca [16 x i8]
%60 = alloca [16 x i8]
%61 = alloca [16 x i8]
%62 = alloca [16 x i8]
%63 = alloca [16 x i8]
%64 = alloca [16 x i8]
%65 = alloca [16 x i8]
%66 = alloca [16 x i8]
%67 = tail call dereferenceable_or_null(16) i8* @malloc(i64 16)
%68 = tail call dereferenceable_or_null(16) i8* @malloc(i64 16)
%69 = getelementptr inbounds i8*, i8** %1, i64 1
%70 = load i8*, i8** %69
%71 = tail call i32 (i8*, ...) bitcast (i32 (...)* @atoi to i32 (i8*, ...)*)(i8* %70)
%72 = icmp sgt i32 %71, 0
br i1 %72, label %73, label %366
73: ; preds = %2
%74 = getelementptr inbounds [16 x i8], [16 x i8]* %3, i64 0, i64 0
%75 = getelementptr inbounds [16 x i8], [16 x i8]* %4, i64 0, i64 0
%76 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 0
%77 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 0
%78 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 0
%79 = getelementptr inbounds [16 x i8], [16 x i8]* %8, i64 0, i64 0
%80 = getelementptr inbounds [16 x i8], [16 x i8]* %9, i64 0, i64 0
%81 = getelementptr inbounds [16 x i8], [16 x i8]* %10, i64 0, i64 0
%82 = getelementptr inbounds [16 x i8], [16 x i8]* %11, i64 0, i64 0
%83 = getelementptr inbounds [16 x i8], [16 x i8]* %12, i64 0, i64 0
%84 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%85 = getelementptr inbounds [16 x i8], [16 x i8]* %14, i64 0, i64 0
%86 = getelementptr inbounds [16 x i8], [16 x i8]* %15, i64 0, i64 0
%87 = getelementptr inbounds [16 x i8], [16 x i8]* %16, i64 0, i64 0
%88 = getelementptr inbounds [16 x i8], [16 x i8]* %17, i64 0, i64 0
%89 = getelementptr inbounds [16 x i8], [16 x i8]* %18, i64 0, i64 0
%90 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 0
%91 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 0
%92 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 0
%93 = getelementptr inbounds [16 x i8], [16 x i8]* %22, i64 0, i64 0
%94 = getelementptr inbounds [16 x i8], [16 x i8]* %23, i64 0, i64 0
%95 = getelementptr inbounds [16 x i8], [16 x i8]* %24, i64 0, i64 0
%96 = getelementptr inbounds [16 x i8], [16 x i8]* %25, i64 0, i64 0
%97 = getelementptr inbounds [16 x i8], [16 x i8]* %26, i64 0, i64 0
%98 = getelementptr inbounds [16 x i8], [16 x i8]* %27, i64 0, i64 0
%99 = getelementptr inbounds [16 x i8], [16 x i8]* %28, i64 0, i64 0
%100 = getelementptr inbounds [16 x i8], [16 x i8]* %29, i64 0, i64 0
%101 = getelementptr inbounds [16 x i8], [16 x i8]* %30, i64 0, i64 0
%102 = getelementptr inbounds [16 x i8], [16 x i8]* %31, i64 0, i64 0
%103 = getelementptr inbounds [16 x i8], [16 x i8]* %32, i64 0, i64 0
%104 = getelementptr inbounds [16 x i8], [16 x i8]* %33, i64 0, i64 0
%105 = getelementptr inbounds [16 x i8], [16 x i8]* %34, i64 0, i64 0
%106 = getelementptr inbounds [16 x i8], [16 x i8]* %35, i64 0, i64 0
%107 = getelementptr inbounds [16 x i8], [16 x i8]* %36, i64 0, i64 0
%108 = getelementptr inbounds [16 x i8], [16 x i8]* %37, i64 0, i64 0
%109 = getelementptr inbounds [16 x i8], [16 x i8]* %38, i64 0, i64 0
%110 = getelementptr inbounds [16 x i8], [16 x i8]* %39, i64 0, i64 0
%111 = getelementptr inbounds [16 x i8], [16 x i8]* %40, i64 0, i64 0
%112 = getelementptr inbounds [16 x i8], [16 x i8]* %41, i64 0, i64 0
%113 = getelementptr inbounds [16 x i8], [16 x i8]* %42, i64 0, i64 0
%114 = getelementptr inbounds [16 x i8], [16 x i8]* %43, i64 0, i64 0
%115 = getelementptr inbounds [16 x i8], [16 x i8]* %44, i64 0, i64 0
%116 = getelementptr inbounds [16 x i8], [16 x i8]* %45, i64 0, i64 0
%117 = getelementptr inbounds [16 x i8], [16 x i8]* %46, i64 0, i64 0
%118 = getelementptr inbounds [16 x i8], [16 x i8]* %47, i64 0, i64 0
%119 = getelementptr inbounds [16 x i8], [16 x i8]* %48, i64 0, i64 0
%120 = getelementptr inbounds [16 x i8], [16 x i8]* %49, i64 0, i64 0
%121 = getelementptr inbounds [16 x i8], [16 x i8]* %50, i64 0, i64 0
%122 = getelementptr inbounds [16 x i8], [16 x i8]* %51, i64 0, i64 0
%123 = getelementptr inbounds [16 x i8], [16 x i8]* %52, i64 0, i64 0
%124 = getelementptr inbounds [16 x i8], [16 x i8]* %53, i64 0, i64 0
%125 = getelementptr inbounds [16 x i8], [16 x i8]* %54, i64 0, i64 0
%126 = getelementptr inbounds [16 x i8], [16 x i8]* %55, i64 0, i64 0
%127 = getelementptr inbounds [16 x i8], [16 x i8]* %56, i64 0, i64 0
%128 = getelementptr inbounds [16 x i8], [16 x i8]* %57, i64 0, i64 0
%129 = getelementptr inbounds [16 x i8], [16 x i8]* %58, i64 0, i64 0
%130 = getelementptr inbounds [16 x i8], [16 x i8]* %59, i64 0, i64 0
%131 = getelementptr inbounds [16 x i8], [16 x i8]* %60, i64 0, i64 0
%132 = getelementptr inbounds [16 x i8], [16 x i8]* %61, i64 0, i64 0
%133 = getelementptr inbounds [16 x i8], [16 x i8]* %62, i64 0, i64 0
%134 = getelementptr inbounds [16 x i8], [16 x i8]* %63, i64 0, i64 0
%135 = getelementptr inbounds [16 x i8], [16 x i8]* %64, i64 0, i64 0
%136 = getelementptr inbounds [16 x i8], [16 x i8]* %65, i64 0, i64 0
%137 = getelementptr inbounds [16 x i8], [16 x i8]* %66, i64 0, i64 0
br label %138
138: ; preds = %73, %138
%139 = phi i32 [ 0, %73 ], [ %364, %138 ]
%140 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%141 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%142 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignb_mmx to i32 (i8*, i8*, ...)*)(i8* %74, i8* %75)
%143 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %74, i64 8)
%144 = icmp eq i32 %143, 0
%145 = zext i1 %144 to i32
%146 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %145)
%147 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%148 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%149 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignb_xmm to i32 (i8*, i8*, ...)*)(i8* %76, i8* %77)
%150 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %76, i64 16)
%151 = icmp eq i32 %150, 0
%152 = zext i1 %151 to i32
%153 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %152)
%154 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%155 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%156 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignw_mmx to i32 (i8*, i8*, ...)*)(i8* %78, i8* %79)
%157 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %78, i64 8)
%158 = icmp eq i32 %157, 0
%159 = zext i1 %158 to i32
%160 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %159)
%161 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%162 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%163 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignw_xmm to i32 (i8*, i8*, ...)*)(i8* %80, i8* %81)
%164 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %80, i64 16)
%165 = icmp eq i32 %164, 0
%166 = zext i1 %165 to i32
%167 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %166)
%168 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%169 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%170 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignd_mmx to i32 (i8*, i8*, ...)*)(i8* %82, i8* %83)
%171 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %82, i64 8)
%172 = icmp eq i32 %171, 0
%173 = zext i1 %172 to i32
%174 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %173)
%175 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%176 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_psignd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%177 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_psignd_xmm to i32 (i8*, i8*, ...)*)(i8* %84, i8* %85)
%178 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %84, i64 16)
%179 = icmp eq i32 %178, 0
%180 = zext i1 %179 to i32
%181 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %180)
%182 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%183 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%184 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsb_mmx to i32 (i8*, i8*, ...)*)(i8* %86, i8* %87)
%185 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %86, i64 8)
%186 = icmp eq i32 %185, 0
%187 = zext i1 %186 to i32
%188 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %187)
%189 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%190 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%191 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsb_xmm to i32 (i8*, i8*, ...)*)(i8* %88, i8* %89)
%192 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %88, i64 16)
%193 = icmp eq i32 %192, 0
%194 = zext i1 %193 to i32
%195 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %194)
%196 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%197 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%198 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsw_mmx to i32 (i8*, i8*, ...)*)(i8* %90, i8* %91)
%199 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %90, i64 8)
%200 = icmp eq i32 %199, 0
%201 = zext i1 %200 to i32
%202 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %201)
%203 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%204 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%205 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsw_xmm to i32 (i8*, i8*, ...)*)(i8* %92, i8* %93)
%206 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %92, i64 16)
%207 = icmp eq i32 %206, 0
%208 = zext i1 %207 to i32
%209 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %208)
%210 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%211 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%212 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsd_mmx to i32 (i8*, i8*, ...)*)(i8* %94, i8* %95)
%213 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %94, i64 8)
%214 = icmp eq i32 %213, 0
%215 = zext i1 %214 to i32
%216 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %215)
%217 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%218 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pabsd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%219 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pabsd_xmm to i32 (i8*, i8*, ...)*)(i8* %96, i8* %97)
%220 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %96, i64 16)
%221 = icmp eq i32 %220, 0
%222 = zext i1 %221 to i32
%223 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %222)
%224 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%225 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%226 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddw_mmx to i32 (i8*, i8*, ...)*)(i8* %98, i8* %99)
%227 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %98, i64 8)
%228 = icmp eq i32 %227, 0
%229 = zext i1 %228 to i32
%230 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %229)
%231 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%232 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%233 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddw_xmm to i32 (i8*, i8*, ...)*)(i8* %100, i8* %101)
%234 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %100, i64 16)
%235 = icmp eq i32 %234, 0
%236 = zext i1 %235 to i32
%237 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %236)
%238 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%239 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%240 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddsw_mmx to i32 (i8*, i8*, ...)*)(i8* %102, i8* %103)
%241 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %102, i64 8)
%242 = icmp eq i32 %241, 0
%243 = zext i1 %242 to i32
%244 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %243)
%245 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%246 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%247 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddsw_xmm to i32 (i8*, i8*, ...)*)(i8* %104, i8* %105)
%248 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %104, i64 16)
%249 = icmp eq i32 %248, 0
%250 = zext i1 %249 to i32
%251 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %250)
%252 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%253 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%254 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddd_mmx to i32 (i8*, i8*, ...)*)(i8* %106, i8* %107)
%255 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %106, i64 8)
%256 = icmp eq i32 %255, 0
%257 = zext i1 %256 to i32
%258 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %257)
%259 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%260 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phaddd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%261 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phaddd_xmm to i32 (i8*, i8*, ...)*)(i8* %108, i8* %109)
%262 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %108, i64 16)
%263 = icmp eq i32 %262, 0
%264 = zext i1 %263 to i32
%265 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %264)
%266 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%267 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%268 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubw_mmx to i32 (i8*, i8*, ...)*)(i8* %110, i8* %111)
%269 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %110, i64 8)
%270 = icmp eq i32 %269, 0
%271 = zext i1 %270 to i32
%272 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %271)
%273 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%274 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%275 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubw_xmm to i32 (i8*, i8*, ...)*)(i8* %112, i8* %113)
%276 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %112, i64 16)
%277 = icmp eq i32 %276, 0
%278 = zext i1 %277 to i32
%279 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %278)
%280 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%281 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%282 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubsw_mmx to i32 (i8*, i8*, ...)*)(i8* %114, i8* %115)
%283 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %114, i64 8)
%284 = icmp eq i32 %283, 0
%285 = zext i1 %284 to i32
%286 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %285)
%287 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%288 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%289 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubsw_xmm to i32 (i8*, i8*, ...)*)(i8* %116, i8* %117)
%290 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %116, i64 16)
%291 = icmp eq i32 %290, 0
%292 = zext i1 %291 to i32
%293 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %292)
%294 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%295 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%296 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubd_mmx to i32 (i8*, i8*, ...)*)(i8* %118, i8* %119)
%297 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %118, i64 8)
%298 = icmp eq i32 %297, 0
%299 = zext i1 %298 to i32
%300 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %299)
%301 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%302 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_phsubd_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%303 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_phsubd_xmm to i32 (i8*, i8*, ...)*)(i8* %120, i8* %121)
%304 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %120, i64 16)
%305 = icmp eq i32 %304, 0
%306 = zext i1 %305 to i32
%307 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %306)
%308 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%309 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmulhrsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%310 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmulhrsw_mmx to i32 (i8*, i8*, ...)*)(i8* %122, i8* %123)
%311 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %122, i64 8)
%312 = icmp eq i32 %311, 0
%313 = zext i1 %312 to i32
%314 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %313)
%315 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%316 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmulhrsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%317 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmulhrsw_xmm to i32 (i8*, i8*, ...)*)(i8* %124, i8* %125)
%318 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %124, i64 16)
%319 = icmp eq i32 %318, 0
%320 = zext i1 %319 to i32
%321 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %320)
%322 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%323 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmaddubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%324 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmaddubsw_mmx to i32 (i8*, i8*, ...)*)(i8* %126, i8* %127)
%325 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %126, i64 8)
%326 = icmp eq i32 %325, 0
%327 = zext i1 %326 to i32
%328 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %327)
%329 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%330 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pmaddubsw_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%331 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pmaddubsw_xmm to i32 (i8*, i8*, ...)*)(i8* %128, i8* %129)
%332 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %128, i64 16)
%333 = icmp eq i32 %332, 0
%334 = zext i1 %333 to i32
%335 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %334)
%336 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%337 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pshufb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%338 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pshufb_mmx to i32 (i8*, i8*, ...)*)(i8* %130, i8* %131)
%339 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %130, i64 8)
%340 = icmp eq i32 %339, 0
%341 = zext i1 %340 to i32
%342 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %341)
%343 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%344 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_pshufb_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%345 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_pshufb_xmm to i32 (i8*, i8*, ...)*)(i8* %132, i8* %133)
%346 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %132, i64 16)
%347 = icmp eq i32 %346, 0
%348 = zext i1 %347 to i32
%349 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %348)
%350 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%351 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_palignr_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 0)
%352 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_palignr_mmx to i32 (i8*, i8*, ...)*)(i8* %134, i8* %135)
%353 = call i32 @bcmp(i8* dereferenceable(8) %68, i8* dereferenceable(8) %134, i64 8)
%354 = icmp eq i32 %353, 0
%355 = zext i1 %354 to i32
%356 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %355)
%357 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @randomize_args to i32 (i8*, i8*, ...)*)(i8* %68, i8* %67)
%358 = call i32 (i8*, i8*, i32, ...) bitcast (i32 (...)* @test_palignr_c to i32 (i8*, i8*, i32, ...)*)(i8* %68, i8* %67, i32 1)
%359 = call i32 (i8*, i8*, ...) bitcast (i32 (...)* @test_palignr_xmm to i32 (i8*, i8*, ...)*)(i8* %136, i8* %137)
%360 = call i32 @bcmp(i8* dereferenceable(16) %68, i8* dereferenceable(16) %136, i64 16)
%361 = icmp eq i32 %360, 0
%362 = zext i1 %361 to i32
%363 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %362)
%364 = add nuw nsw i32 %139, 1
%365 = icmp eq i32 %364, %71
br i1 %365, label %366, label %138
366: ; preds = %138, %2
ret void
}