This commit was manufactured by cvs2svn to create branch 'binutils-
[external/binutils.git] / gas / testsuite / gas / i386 / avx.s
index 95b1215..0393d86 100644 (file)
@@ -270,9 +270,28 @@ _start:
        vtestps %ymm4,%ymm6
        vtestps (%ecx),%ymm4
 
+# Tests for op ymm, ymm/mem256
+       vmovapd %ymm4,%ymm6
+       vmovapd %ymm4,(%ecx)
+       vmovaps %ymm4,%ymm6
+       vmovaps %ymm4,(%ecx)
+       vmovdqa %ymm4,%ymm6
+       vmovdqa %ymm4,(%ecx)
+       vmovdqu %ymm4,%ymm6
+       vmovdqu %ymm4,(%ecx)
+       vmovupd %ymm4,%ymm6
+       vmovupd %ymm4,(%ecx)
+       vmovups %ymm4,%ymm6
+       vmovups %ymm4,(%ecx)
+
 # Tests for op mem256, ymm
        vlddqu (%ecx),%ymm4
 
+# Tests for op ymm, mem256
+       vmovntdq %ymm4,(%ecx)
+       vmovntpd %ymm4,(%ecx)
+       vmovntps %ymm4,(%ecx)
+
 # Tests for op imm8, ymm/mem256, ymm, ymm
        vblendpd $7,%ymm4,%ymm6,%ymm2
        vblendpd $7,(%ecx),%ymm6,%ymm2
@@ -468,6 +487,14 @@ _start:
        vpavgb (%ecx),%xmm6,%xmm7
        vpavgw %xmm4,%xmm6,%xmm2
        vpavgw (%ecx),%xmm6,%xmm7
+       vpclmullqlqdq %xmm4,%xmm6,%xmm2
+       vpclmullqlqdq (%ecx),%xmm6,%xmm7
+       vpclmulhqlqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqlqdq (%ecx),%xmm6,%xmm7
+       vpclmullqhqdq %xmm4,%xmm6,%xmm2
+       vpclmullqhqdq (%ecx),%xmm6,%xmm7
+       vpclmulhqhqdq %xmm4,%xmm6,%xmm2
+       vpclmulhqhqdq (%ecx),%xmm6,%xmm7
        vpcmpeqb %xmm4,%xmm6,%xmm2
        vpcmpeqb (%ecx),%xmm6,%xmm7
        vpcmpeqw %xmm4,%xmm6,%xmm2
@@ -810,6 +837,8 @@ _start:
        vpalignr $7,(%ecx),%xmm6,%xmm2
        vpblendw $7,%xmm4,%xmm6,%xmm2
        vpblendw $7,(%ecx),%xmm6,%xmm2
+       vpclmulqdq $7,%xmm4,%xmm6,%xmm2
+       vpclmulqdq $7,(%ecx),%xmm6,%xmm2
        vshufpd $7,%xmm4,%xmm6,%xmm2
        vshufpd $7,(%ecx),%xmm6,%xmm2
        vshufps $7,%xmm4,%xmm6,%xmm2
@@ -1101,6 +1130,10 @@ _start:
        vextractps $7,%xmm4,%ecx
        vextractps $7,%xmm4,(%ecx)
 
+# Tests for op imm8, regl/mem32, xmm, xmm
+       vpinsrd $7,%ecx,%xmm4,%xmm6
+       vpinsrd $7,(%ecx),%xmm4,%xmm6
+
 # Tests for op regl/mem32, xmm, xmm
        vcvtsi2sd %ecx,%xmm4,%xmm6
        vcvtsi2sd (%ecx),%xmm4,%xmm6
@@ -1143,10 +1176,6 @@ _start:
 # Tests for op imm8, xmm, regq/mem8
        vpextrb $7,%xmm4,(%ecx)
 
-# Tests for op imm8, regl/mem8, xmm, xmm
-       vpinsrb $7,%ecx,%xmm4,%xmm6
-       vpinsrb $7,(%ecx),%xmm4,%xmm6
-
 # Tests for op xmm, xmm
        vmaskmovdqu %xmm4,%xmm6
        vmovq %xmm4,%xmm6
@@ -1201,6 +1230,7 @@ _start:
        vaeskeygenassist $7,0x1234,%xmm0
        vpextrb $7,%xmm0,0x1234
        vcvtsi2sdl 0x1234,%xmm0,%xmm7
+       vpclmulqdq $7,0x1234,%xmm0,%xmm7
        vblendvps %xmm0,0x1234,%xmm4,%xmm6
        vpinsrb $7,0x1234,%xmm0,%xmm7
        vmovdqa 0x1234,%ymm0
@@ -1221,6 +1251,7 @@ _start:
        vaeskeygenassist $7,(%ebp),%xmm0
        vpextrb $7,%xmm0,(%ebp)
        vcvtsi2sdl (%ebp),%xmm0,%xmm7
+       vpclmulqdq $7,(%ebp),%xmm0,%xmm7
        vblendvps %xmm0,(%ebp),%xmm4,%xmm6
        vpinsrb $7,(%ebp),%xmm0,%xmm7
        vmovdqa (%ebp),%ymm0
@@ -1241,6 +1272,7 @@ _start:
        vaeskeygenassist $7,(%esp),%xmm0
        vpextrb $7,%xmm0,(%esp)
        vcvtsi2sdl (%esp),%xmm0,%xmm7
+       vpclmulqdq $7,(%esp),%xmm0,%xmm7
        vblendvps %xmm0,(%esp),%xmm4,%xmm6
        vpinsrb $7,(%esp),%xmm0,%xmm7
        vmovdqa (%esp),%ymm0
@@ -1261,6 +1293,7 @@ _start:
        vaeskeygenassist $7,0x99(%ebp),%xmm0
        vpextrb $7,%xmm0,0x99(%ebp)
        vcvtsi2sdl 0x99(%ebp),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%ebp),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp),%xmm4,%xmm6
        vpinsrb $7,0x99(%ebp),%xmm0,%xmm7
        vmovdqa 0x99(%ebp),%ymm0
@@ -1281,6 +1314,7 @@ _start:
        vaeskeygenassist $7,0x99(,%eiz),%xmm0
        vpextrb $7,%xmm0,0x99(,%eiz)
        vcvtsi2sdl 0x99(,%eiz),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz),%xmm4,%xmm6
        vpinsrb $7,0x99(,%eiz),%xmm0,%xmm7
        vmovdqa 0x99(,%eiz),%ymm0
@@ -1301,6 +1335,7 @@ _start:
        vaeskeygenassist $7,0x99(,%eiz,2),%xmm0
        vpextrb $7,%xmm0,0x99(,%eiz,2)
        vcvtsi2sdl 0x99(,%eiz,2),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(,%eiz,2),%xmm4,%xmm6
        vpinsrb $7,0x99(,%eiz,2),%xmm0,%xmm7
        vmovdqa 0x99(,%eiz,2),%ymm0
@@ -1321,6 +1356,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%eiz),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%eiz)
        vcvtsi2sdl 0x99(%eax,%eiz),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%eiz),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%eiz),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%eiz),%ymm0
@@ -1341,6 +1377,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%eiz,2),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%eiz,2)
        vcvtsi2sdl 0x99(%eax,%eiz,2),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%eiz,2),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%eiz,2),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%eiz,2),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%eiz,2),%ymm0
@@ -1361,6 +1398,7 @@ _start:
        vaeskeygenassist $7,0x99(%eax,%ebx,4),%xmm0
        vpextrb $7,%xmm0,0x99(%eax,%ebx,4)
        vcvtsi2sdl 0x99(%eax,%ebx,4),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%eax,%ebx,4),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%eax,%ebx,4),%xmm4,%xmm6
        vpinsrb $7,0x99(%eax,%ebx,4),%xmm0,%xmm7
        vmovdqa 0x99(%eax,%ebx,4),%ymm0
@@ -1381,6 +1419,7 @@ _start:
        vaeskeygenassist $7,0x99(%esp,%ecx,8),%xmm0
        vpextrb $7,%xmm0,0x99(%esp,%ecx,8)
        vcvtsi2sdl 0x99(%esp,%ecx,8),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%esp,%ecx,8),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%esp,%ecx,8),%xmm4,%xmm6
        vpinsrb $7,0x99(%esp,%ecx,8),%xmm0,%xmm7
        vmovdqa 0x99(%esp,%ecx,8),%ymm0
@@ -1401,6 +1440,7 @@ _start:
        vaeskeygenassist $7,0x99(%ebp,%edx,1),%xmm0
        vpextrb $7,%xmm0,0x99(%ebp,%edx,1)
        vcvtsi2sdl 0x99(%ebp,%edx,1),%xmm0,%xmm7
+       vpclmulqdq $7,0x99(%ebp,%edx,1),%xmm0,%xmm7
        vblendvps %xmm0,0x99(%ebp,%edx,1),%xmm4,%xmm6
        vpinsrb $7,0x99(%ebp,%edx,1),%xmm0,%xmm7
        vmovdqa 0x99(%ebp,%edx,1),%ymm0
@@ -1805,10 +1845,38 @@ _start:
        vtestps ymm4,YMMWORD PTR [ecx]
        vtestps ymm4,[ecx]
 
+# Tests for op ymm, ymm/mem256
+       vmovapd ymm6,ymm4
+       vmovapd YMMWORD PTR [ecx],ymm4
+       vmovapd [ecx],ymm4
+       vmovaps ymm6,ymm4
+       vmovaps YMMWORD PTR [ecx],ymm4
+       vmovaps [ecx],ymm4
+       vmovdqa ymm6,ymm4
+       vmovdqa YMMWORD PTR [ecx],ymm4
+       vmovdqa [ecx],ymm4
+       vmovdqu ymm6,ymm4
+       vmovdqu YMMWORD PTR [ecx],ymm4
+       vmovdqu [ecx],ymm4
+       vmovupd ymm6,ymm4
+       vmovupd YMMWORD PTR [ecx],ymm4
+       vmovupd [ecx],ymm4
+       vmovups ymm6,ymm4
+       vmovups YMMWORD PTR [ecx],ymm4
+       vmovups [ecx],ymm4
+
 # Tests for op mem256, ymm
        vlddqu ymm4,YMMWORD PTR [ecx]
        vlddqu ymm4,[ecx]
 
+# Tests for op ymm, mem256
+       vmovntdq YMMWORD PTR [ecx],ymm4
+       vmovntdq [ecx],ymm4
+       vmovntpd YMMWORD PTR [ecx],ymm4
+       vmovntpd [ecx],ymm4
+       vmovntps YMMWORD PTR [ecx],ymm4
+       vmovntps [ecx],ymm4
+
 # Tests for op imm8, ymm/mem256, ymm, ymm
        vblendpd ymm2,ymm6,ymm4,7
        vblendpd ymm2,ymm6,YMMWORD PTR [ecx],7
@@ -2091,6 +2159,18 @@ _start:
        vpavgw xmm2,xmm6,xmm4
        vpavgw xmm7,xmm6,XMMWORD PTR [ecx]
        vpavgw xmm7,xmm6,[ecx]
+       vpclmullqlqdq xmm2,xmm6,xmm4
+       vpclmullqlqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmullqlqdq xmm7,xmm6,[ecx]
+       vpclmulhqlqdq xmm2,xmm6,xmm4
+       vpclmulhqlqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmulhqlqdq xmm7,xmm6,[ecx]
+       vpclmullqhqdq xmm2,xmm6,xmm4
+       vpclmullqhqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmullqhqdq xmm7,xmm6,[ecx]
+       vpclmulhqhqdq xmm2,xmm6,xmm4
+       vpclmulhqhqdq xmm7,xmm6,XMMWORD PTR [ecx]
+       vpclmulhqhqdq xmm7,xmm6,[ecx]
        vpcmpeqb xmm2,xmm6,xmm4
        vpcmpeqb xmm7,xmm6,XMMWORD PTR [ecx]
        vpcmpeqb xmm7,xmm6,[ecx]
@@ -2602,6 +2682,9 @@ _start:
        vpblendw xmm2,xmm6,xmm4,7
        vpblendw xmm2,xmm6,XMMWORD PTR [ecx],7
        vpblendw xmm2,xmm6,[ecx],7
+       vpclmulqdq xmm2,xmm6,xmm4,7
+       vpclmulqdq xmm2,xmm6,XMMWORD PTR [ecx],7
+       vpclmulqdq xmm2,xmm6,[ecx],7
        vshufpd xmm2,xmm6,xmm4,7
        vshufpd xmm2,xmm6,XMMWORD PTR [ecx],7
        vshufpd xmm2,xmm6,[ecx],7
@@ -3027,6 +3110,11 @@ _start:
        vextractps DWORD PTR [ecx],xmm4,7
        vextractps [ecx],xmm4,7
 
+# Tests for op imm8, regl/mem32, xmm, xmm
+       vpinsrd xmm6,xmm4,ecx,7
+       vpinsrd xmm6,xmm4,DWORD PTR [ecx],7
+       vpinsrd xmm6,xmm4,[ecx],7
+
 # Tests for op regl/mem32, xmm, xmm
        vcvtsi2sd xmm6,xmm4,ecx
        vcvtsi2sd xmm6,xmm4,DWORD PTR [ecx]
@@ -3082,11 +3170,6 @@ _start:
        vpextrb BYTE PTR [ecx],xmm4,7
        vpextrb [ecx],xmm4,7
 
-# Tests for op imm8, regl/mem8, xmm, xmm
-       vpinsrb xmm6,xmm4,ecx,7
-       vpinsrb xmm6,xmm4,BYTE PTR [ecx],7
-       vpinsrb xmm6,xmm4,[ecx],7
-
 # Tests for op xmm, xmm
        vmaskmovdqu xmm6,xmm4
        vmovq xmm6,xmm4
@@ -3141,6 +3224,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR ds:0x1234,7
        vpextrb ds:0x1234,xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR ds:0x1234
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR ds:0x1234,7
        vblendvps xmm6,xmm4,XMMWORD PTR ds:0x1234,xmm0
        vpinsrb xmm7,xmm0,ds:0x1234,7
        vmovdqa ymm0,YMMWORD PTR ds:0x1234
@@ -3161,6 +3245,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp],7
        vpextrb [ebp],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp],xmm0
        vpinsrb xmm7,xmm0,[ebp],7
        vmovdqa ymm0,YMMWORD PTR [ebp]
@@ -3181,6 +3266,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp+0x99],7
        vpextrb [ebp+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+0x99],xmm0
        vpinsrb xmm7,xmm0,[ebp+0x99],7
        vmovdqa ymm0,YMMWORD PTR [ebp+0x99]
@@ -3201,6 +3287,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eiz*1+0x99],7
        vpextrb [eiz*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eiz*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[eiz*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eiz*1+0x99]
@@ -3221,6 +3308,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eiz*2+0x99],7
        vpextrb [eiz*2+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eiz*2+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eiz*2+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eiz*2+0x99],xmm0
        vpinsrb xmm7,xmm0,[eiz*2+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eiz*2+0x99]
@@ -3241,6 +3329,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*1+0x99],7
        vpextrb [eax+eiz*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+eiz*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+eiz*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+eiz*1+0x99]
@@ -3261,6 +3350,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+eiz*2+0x99],7
        vpextrb [eax+eiz*2+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+eiz*2+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+eiz*2+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+eiz*2+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+eiz*2+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+eiz*2+0x99]
@@ -3281,6 +3371,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [eax+ebx*4+0x99],7
        vpextrb [eax+ebx*4+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [eax+ebx*4+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [eax+ebx*4+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [eax+ebx*4+0x99],xmm0
        vpinsrb xmm7,xmm0,[eax+ebx*4+0x99],7
        vmovdqa ymm0,YMMWORD PTR [eax+ebx*4+0x99]
@@ -3301,6 +3392,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [esp+ecx*8+0x99],7
        vpextrb [esp+ecx*8+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [esp+ecx*8+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [esp+ecx*8+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [esp+ecx*8+0x99],xmm0
        vpinsrb xmm7,xmm0,[esp+ecx*8+0x99],7
        vmovdqa ymm0,YMMWORD PTR [esp+ecx*8+0x99]
@@ -3321,6 +3413,7 @@ _start:
        vaeskeygenassist xmm0,XMMWORD PTR [ebp+edx*1+0x99],7
        vpextrb [ebp+edx*1+0x99],xmm0,7
        vcvtsi2sd xmm7,xmm0,DWORD PTR [ebp+edx*1+0x99]
+       vpclmulqdq xmm7,xmm0,XMMWORD PTR [ebp+edx*1+0x99],7
        vblendvps xmm6,xmm4,XMMWORD PTR [ebp+edx*1+0x99],xmm0
        vpinsrb xmm7,xmm0,[ebp+edx*1+0x99],7
        vmovdqa ymm0,YMMWORD PTR [ebp+edx*1+0x99]