i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-optimize-3.s
index d9c2eb86cb92e1371df6ca896dbeaab48ad34786..cbfed3bdf471b3f805d945dfc8f9010cf6034686 100644 (file)
@@ -19,6 +19,20 @@ _start:
        test    $0x7f, %r9d
        test    $0x7f, %r9w
        test    $0x7f, %r9b
+       test    $0x7f, %r12
+       test    $0x7f, %r12d
+       test    $0x7f, %r12w
+       test    $0x7f, %r12b
+
+       and     %cl, %cl
+       and     %dx, %dx
+       and     %ebx, %ebx
+       and     %rsp, %rsp
+
+       or      %bpl, %bpl
+       or      %si, %si
+       or      %edi, %edi
+       or      %r8, %r8
 
        vandnpd %zmm1, %zmm1, %zmm5
 
@@ -126,3 +140,84 @@ _start:
        vmovdqu16       %xmm1, %xmm2{%k1}{z}
        vmovdqu32       %xmm1, %xmm2{%k1}{z}
        vmovdqu64       %xmm1, %xmm2{%k1}{z}
+
+       vpandd          %xmm2, %xmm3, %xmm4
+       vpandq          %xmm12, %xmm3, %xmm4
+       vpandnd         %xmm2, %xmm13, %xmm4
+       vpandnq         %xmm2, %xmm3, %xmm14
+       vpord           %xmm2, %xmm3, %xmm4
+       vporq           %xmm12, %xmm3, %xmm4
+       vpxord          %xmm2, %xmm13, %xmm4
+       vpxorq          %xmm2, %xmm3, %xmm14
+
+       vpandd          %ymm2, %ymm3, %ymm4
+       vpandq          %ymm12, %ymm3, %ymm4
+       vpandnd         %ymm2, %ymm13, %ymm4
+       vpandnq         %ymm2, %ymm3, %ymm14
+       vpord           %ymm2, %ymm3, %ymm4
+       vporq           %ymm12, %ymm3, %ymm4
+       vpxord          %ymm2, %ymm13, %ymm4
+       vpxorq          %ymm2, %ymm3, %ymm14
+
+       vpandd          112(%rax), %xmm2, %xmm3
+       vpandq          112(%rax), %xmm2, %xmm3
+       vpandnd         112(%rax), %xmm2, %xmm3
+       vpandnq         112(%rax), %xmm2, %xmm3
+       vpord           112(%rax), %xmm2, %xmm3
+       vporq           112(%rax), %xmm2, %xmm3
+       vpxord          112(%rax), %xmm2, %xmm3
+       vpxorq          112(%rax), %xmm2, %xmm3
+
+       vpandd          128(%rax), %xmm2, %xmm3
+       vpandq          128(%rax), %xmm2, %xmm3
+       vpandnd         128(%rax), %xmm2, %xmm3
+       vpandnq         128(%rax), %xmm2, %xmm3
+       vpord           128(%rax), %xmm2, %xmm3
+       vporq           128(%rax), %xmm2, %xmm3
+       vpxord          128(%rax), %xmm2, %xmm3
+       vpxorq          128(%rax), %xmm2, %xmm3
+
+       vpandd          96(%rax), %ymm2, %ymm3
+       vpandq          96(%rax), %ymm2, %ymm3
+       vpandnd         96(%rax), %ymm2, %ymm3
+       vpandnq         96(%rax), %ymm2, %ymm3
+       vpord           96(%rax), %ymm2, %ymm3
+       vporq           96(%rax), %ymm2, %ymm3
+       vpxord          96(%rax), %ymm2, %ymm3
+       vpxorq          96(%rax), %ymm2, %ymm3
+
+       vpandd          128(%rax), %ymm2, %ymm3
+       vpandq          128(%rax), %ymm2, %ymm3
+       vpandnd         128(%rax), %ymm2, %ymm3
+       vpandnq         128(%rax), %ymm2, %ymm3
+       vpord           128(%rax), %ymm2, %ymm3
+       vporq           128(%rax), %ymm2, %ymm3
+       vpxord          128(%rax), %ymm2, %ymm3
+       vpxorq          128(%rax), %ymm2, %ymm3
+
+       vpandd          %xmm22, %xmm23, %xmm24
+       vpandq          %ymm22, %ymm3, %ymm4
+       vpandnd         %ymm2, %ymm23, %ymm4
+       vpandnq         %xmm2, %xmm3, %xmm24
+       vpord           %xmm22, %xmm23, %xmm24
+       vporq           %ymm22, %ymm3, %ymm4
+       vpxord          %ymm2, %ymm23, %ymm4
+       vpxorq          %xmm2, %xmm3, %xmm24
+
+       vpandd          %xmm2, %xmm3, %xmm4{%k5}
+       vpandq          %ymm12, %ymm3, %ymm4{%k5}
+       vpandnd         %ymm2, %ymm13, %ymm4{%k5}
+       vpandnq         %xmm2, %xmm3, %xmm14{%k5}
+       vpord           %xmm2, %xmm3, %xmm4{%k5}
+       vporq           %ymm12, %ymm3, %ymm4{%k5}
+       vpxord          %ymm2, %ymm13, %ymm4{%k5}
+       vpxorq          %xmm2, %xmm3, %xmm14{%k5}
+
+       vpandd          (%rax){1to8}, %ymm2, %ymm3
+       vpandq          (%rax){1to2}, %xmm2, %xmm3
+       vpandnd         (%rax){1to4}, %xmm2, %xmm3
+       vpandnq         (%rax){1to4}, %ymm2, %ymm3
+       vpord           (%rax){1to8}, %ymm2, %ymm3
+       vporq           (%rax){1to2}, %xmm2, %xmm3
+       vpxord          (%rax){1to4}, %xmm2, %xmm3
+       vpxorq          (%rax){1to4}, %ymm2, %ymm3
This page took 0.025041 seconds and 4 git commands to generate.