diff options
Diffstat (limited to 'gas/testsuite')
18 files changed, 1604 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/avx10_2-256-1-intel.d b/gas/testsuite/gas/i386/avx10_2-256-1-intel.d new file mode 100644 index 0000000..9aad8f8 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-1-intel.d @@ -0,0 +1,151 @@ +#objdump: -dw -Mintel +#name: i386 AVX10.2/256 media insns (Intel disassembly) +#source: avx10_2-256-1.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 f2 57 2f 50 f4\s+vpdpbssd ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 57 0f 50 f4\s+vpdpbssd xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 57 2f 50 b4 f4 00 00 00 10\s+vpdpbssd ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 38 50 31\s+vpdpbssd ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 2f 50 71 7f\s+vpdpbssd ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 57 bf 50 72 80\s+vpdpbssd ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 57 0f 50 b4 f4 00 00 00 10\s+vpdpbssd xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 18 50 31\s+vpdpbssd xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 0f 50 71 7f\s+vpdpbssd xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 57 9f 50 72 80\s+vpdpbssd xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 57 2f 51 f4\s+vpdpbssds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 57 0f 51 f4\s+vpdpbssds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 57 2f 51 b4 f4 00 00 00 10\s+vpdpbssds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 38 51 31\s+vpdpbssds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 2f 51 71 7f\s+vpdpbssds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 57 bf 51 72 80\s+vpdpbssds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 57 0f 51 b4 f4 00 00 00 10\s+vpdpbssds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 18 51 31\s+vpdpbssds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 0f 51 71 7f\s+vpdpbssds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 57 9f 51 72 80\s+vpdpbssds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 2f 50 f4\s+vpdpbsud ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 56 0f 50 f4\s+vpdpbsud xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 56 2f 50 b4 f4 00 00 00 10\s+vpdpbsud ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 38 50 31\s+vpdpbsud ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 2f 50 71 7f\s+vpdpbsud ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 56 bf 50 72 80\s+vpdpbsud ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 0f 50 b4 f4 00 00 00 10\s+vpdpbsud xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 18 50 31\s+vpdpbsud xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 0f 50 71 7f\s+vpdpbsud xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 56 9f 50 72 80\s+vpdpbsud xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 2f 51 f4\s+vpdpbsuds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 56 0f 51 f4\s+vpdpbsuds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 56 2f 51 b4 f4 00 00 00 10\s+vpdpbsuds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 38 51 31\s+vpdpbsuds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 2f 51 71 7f\s+vpdpbsuds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 56 bf 51 72 80\s+vpdpbsuds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 0f 51 b4 f4 00 00 00 10\s+vpdpbsuds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 18 51 31\s+vpdpbsuds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 0f 51 71 7f\s+vpdpbsuds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 56 9f 51 72 80\s+vpdpbsuds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 2f 50 f4\s+vpdpbuud ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 54 0f 50 f4\s+vpdpbuud xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 54 2f 50 b4 f4 00 00 00 10\s+vpdpbuud ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 38 50 31\s+vpdpbuud ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 2f 50 71 7f\s+vpdpbuud ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 54 bf 50 72 80\s+vpdpbuud ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 0f 50 b4 f4 00 00 00 10\s+vpdpbuud xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 18 50 31\s+vpdpbuud xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 0f 50 71 7f\s+vpdpbuud xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 54 9f 50 72 80\s+vpdpbuud xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 2f 51 f4\s+vpdpbuuds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 54 0f 51 f4\s+vpdpbuuds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 54 2f 51 b4 f4 00 00 00 10\s+vpdpbuuds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 38 51 31\s+vpdpbuuds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 2f 51 71 7f\s+vpdpbuuds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 54 bf 51 72 80\s+vpdpbuuds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 0f 51 b4 f4 00 00 00 10\s+vpdpbuuds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 18 51 31\s+vpdpbuuds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 0f 51 71 7f\s+vpdpbuuds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 54 9f 51 72 80\s+vpdpbuuds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 2f d2 f4\s+vpdpwsud ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 56 0f d2 f4\s+vpdpwsud xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 56 2f d2 b4 f4 00 00 00 10\s+vpdpwsud ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 38 d2 31\s+vpdpwsud ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 2f d2 71 7f\s+vpdpwsud ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 56 bf d2 72 80\s+vpdpwsud ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 0f d2 b4 f4 00 00 00 10\s+vpdpwsud xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 18 d2 31\s+vpdpwsud xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 0f d2 71 7f\s+vpdpwsud xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 56 9f d2 72 80\s+vpdpwsud xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 2f d3 f4\s+vpdpwsuds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 56 0f d3 f4\s+vpdpwsuds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 56 2f d3 b4 f4 00 00 00 10\s+vpdpwsuds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 38 d3 31\s+vpdpwsuds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 2f d3 71 7f\s+vpdpwsuds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 56 bf d3 72 80\s+vpdpwsuds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 0f d3 b4 f4 00 00 00 10\s+vpdpwsuds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 18 d3 31\s+vpdpwsuds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 0f d3 71 7f\s+vpdpwsuds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 56 9f d3 72 80\s+vpdpwsuds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 2f d2 f4\s+vpdpwusd ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 55 0f d2 f4\s+vpdpwusd xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 55 2f d2 b4 f4 00 00 00 10\s+vpdpwusd ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 38 d2 31\s+vpdpwusd ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 2f d2 71 7f\s+vpdpwusd ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 55 bf d2 72 80\s+vpdpwusd ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 0f d2 b4 f4 00 00 00 10\s+vpdpwusd xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 18 d2 31\s+vpdpwusd xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 0f d2 71 7f\s+vpdpwusd xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 55 9f d2 72 80\s+vpdpwusd xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 2f d3 f4\s+vpdpwusds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 55 0f d3 f4\s+vpdpwusds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 55 2f d3 b4 f4 00 00 00 10\s+vpdpwusds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 38 d3 31\s+vpdpwusds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 2f d3 71 7f\s+vpdpwusds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 55 bf d3 72 80\s+vpdpwusds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 0f d3 b4 f4 00 00 00 10\s+vpdpwusds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 18 d3 31\s+vpdpwusds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 0f d3 71 7f\s+vpdpwusds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 55 9f d3 72 80\s+vpdpwusds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 2f d2 f4\s+vpdpwuud ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 54 0f d2 f4\s+vpdpwuud xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 54 2f d2 b4 f4 00 00 00 10\s+vpdpwuud ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 38 d2 31\s+vpdpwuud ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 2f d2 71 7f\s+vpdpwuud ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 54 bf d2 72 80\s+vpdpwuud ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 0f d2 b4 f4 00 00 00 10\s+vpdpwuud xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 18 d2 31\s+vpdpwuud xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 0f d2 71 7f\s+vpdpwuud xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 54 9f d2 72 80\s+vpdpwuud xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 2f d3 f4\s+vpdpwuuds ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 54 0f d3 f4\s+vpdpwuuds xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 54 2f d3 b4 f4 00 00 00 10\s+vpdpwuuds ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 38 d3 31\s+vpdpwuuds ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 2f d3 71 7f\s+vpdpwuuds ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 54 bf d3 72 80\s+vpdpwuuds ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 0f d3 b4 f4 00 00 00 10\s+vpdpwuuds xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 18 d3 31\s+vpdpwuuds xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 0f d3 71 7f\s+vpdpwuuds xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 54 9f d3 72 80\s+vpdpwuuds xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 2f 52 f4\s+vdpphps ymm6\{k7\},ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f2 54 0f 52 f4\s+vdpphps xmm6\{k7\},xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f2 54 2f 52 b4 f4 00 00 00 10\s+vdpphps ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 38 52 31\s+vdpphps ymm6,ymm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 2f 52 71 7f\s+vdpphps ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f2 54 bf 52 72 80\s+vdpphps ymm6\{k7\}\{z\},ymm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 0f 52 b4 f4 00 00 00 10\s+vdpphps xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 18 52 31\s+vdpphps xmm6,xmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 0f 52 71 7f\s+vdpphps xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f2 54 9f 52 72 80\s+vdpphps xmm6\{k7\}\{z\},xmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f3 56 0f 42 f4 7b\s+vmpsadbw xmm6\{k7\},xmm5,xmm4,0x7b +\s*[a-f0-9]+:\s*62 f3 56 2f 42 f4 7b\s+vmpsadbw ymm6\{k7\},ymm5,ymm4,0x7b +\s*[a-f0-9]+:\s*62 f3 56 2f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 2f 42 31 7b\s+vmpsadbw ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 2f 42 71 7f 7b\s+vmpsadbw ymm6\{k7\},ymm5,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 af 42 72 80 7b\s+vmpsadbw ymm6\{k7\}\{z\},ymm5,YMMWORD PTR \[edx-0x1000\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 0f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 0f 42 31 7b\s+vmpsadbw xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 0f 42 71 7f 7b\s+vmpsadbw xmm6\{k7\},xmm5,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 8f 42 72 80 7b\s+vmpsadbw xmm6\{k7\}\{z\},xmm5,XMMWORD PTR \[edx-0x800\],0x7b +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-256-1.d b/gas/testsuite/gas/i386/avx10_2-256-1.d new file mode 100644 index 0000000..b3485e6 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-1.d @@ -0,0 +1,149 @@ +#objdump: -dw +#name: i386 AVX10.2/256 media insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 f2 57 2f 50 f4\s+vpdpbssd %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 0f 50 f4\s+vpdpbssd %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 2f 50 b4 f4 00 00 00 10\s+vpdpbssd 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 38 50 31\s+vpdpbssd \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 2f 50 71 7f\s+vpdpbssd 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 bf 50 72 80\s+vpdpbssd -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 57 0f 50 b4 f4 00 00 00 10\s+vpdpbssd 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 18 50 31\s+vpdpbssd \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 0f 50 71 7f\s+vpdpbssd 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 9f 50 72 80\s+vpdpbssd -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 57 2f 51 f4\s+vpdpbssds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 0f 51 f4\s+vpdpbssds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 2f 51 b4 f4 00 00 00 10\s+vpdpbssds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 38 51 31\s+vpdpbssds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 2f 51 71 7f\s+vpdpbssds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 bf 51 72 80\s+vpdpbssds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 57 0f 51 b4 f4 00 00 00 10\s+vpdpbssds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 18 51 31\s+vpdpbssds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 0f 51 71 7f\s+vpdpbssds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 9f 51 72 80\s+vpdpbssds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 2f 50 f4\s+vpdpbsud %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 0f 50 f4\s+vpdpbsud %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 2f 50 b4 f4 00 00 00 10\s+vpdpbsud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 38 50 31\s+vpdpbsud \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 2f 50 71 7f\s+vpdpbsud 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 bf 50 72 80\s+vpdpbsud -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 0f 50 b4 f4 00 00 00 10\s+vpdpbsud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 18 50 31\s+vpdpbsud \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 0f 50 71 7f\s+vpdpbsud 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 9f 50 72 80\s+vpdpbsud -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 2f 51 f4\s+vpdpbsuds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 0f 51 f4\s+vpdpbsuds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 2f 51 b4 f4 00 00 00 10\s+vpdpbsuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 38 51 31\s+vpdpbsuds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 2f 51 71 7f\s+vpdpbsuds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 bf 51 72 80\s+vpdpbsuds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 0f 51 b4 f4 00 00 00 10\s+vpdpbsuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 18 51 31\s+vpdpbsuds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 0f 51 71 7f\s+vpdpbsuds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 9f 51 72 80\s+vpdpbsuds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 2f 50 f4\s+vpdpbuud %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 0f 50 f4\s+vpdpbuud %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 2f 50 b4 f4 00 00 00 10\s+vpdpbuud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 38 50 31\s+vpdpbuud \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 2f 50 71 7f\s+vpdpbuud 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 bf 50 72 80\s+vpdpbuud -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 0f 50 b4 f4 00 00 00 10\s+vpdpbuud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 18 50 31\s+vpdpbuud \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 0f 50 71 7f\s+vpdpbuud 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 9f 50 72 80\s+vpdpbuud -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 2f 51 f4\s+vpdpbuuds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 0f 51 f4\s+vpdpbuuds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 2f 51 b4 f4 00 00 00 10\s+vpdpbuuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 38 51 31\s+vpdpbuuds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 2f 51 71 7f\s+vpdpbuuds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 bf 51 72 80\s+vpdpbuuds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 0f 51 b4 f4 00 00 00 10\s+vpdpbuuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 18 51 31\s+vpdpbuuds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 0f 51 71 7f\s+vpdpbuuds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 9f 51 72 80\s+vpdpbuuds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 2f d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 0f d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 2f d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 38 d2 31\s+vpdpwsud \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 2f d2 71 7f\s+vpdpwsud 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 bf d2 72 80\s+vpdpwsud -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 0f d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 18 d2 31\s+vpdpwsud \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 0f d2 71 7f\s+vpdpwsud 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 9f d2 72 80\s+vpdpwsud -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 2f d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 0f d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 2f d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 38 d3 31\s+vpdpwsuds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 2f d3 71 7f\s+vpdpwsuds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 bf d3 72 80\s+vpdpwsuds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 0f d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 18 d3 31\s+vpdpwsuds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 0f d3 71 7f\s+vpdpwsuds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 9f d3 72 80\s+vpdpwsuds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 2f d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 0f d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 2f d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 38 d2 31\s+vpdpwusd \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 2f d2 71 7f\s+vpdpwusd 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 bf d2 72 80\s+vpdpwusd -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 0f d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 18 d2 31\s+vpdpwusd \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 0f d2 71 7f\s+vpdpwusd 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 9f d2 72 80\s+vpdpwusd -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 2f d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 0f d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 2f d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 38 d3 31\s+vpdpwusds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 2f d3 71 7f\s+vpdpwusds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 bf d3 72 80\s+vpdpwusds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 0f d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 18 d3 31\s+vpdpwusds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 0f d3 71 7f\s+vpdpwusds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 9f d3 72 80\s+vpdpwusds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 2f d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 0f d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 2f d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 38 d2 31\s+vpdpwuud \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 2f d2 71 7f\s+vpdpwuud 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 bf d2 72 80\s+vpdpwuud -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 0f d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 18 d2 31\s+vpdpwuud \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 0f d2 71 7f\s+vpdpwuud 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 9f d2 72 80\s+vpdpwuud -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 2f d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 0f d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 2f d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 38 d3 31\s+vpdpwuuds \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 2f d3 71 7f\s+vpdpwuuds 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 bf d3 72 80\s+vpdpwuuds -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 0f d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 18 d3 31\s+vpdpwuuds \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 0f d3 71 7f\s+vpdpwuuds 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 9f d3 72 80\s+vpdpwuuds -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 2f 52 f4\s+vdpphps %ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 0f 52 f4\s+vdpphps %xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 2f 52 b4 f4 00 00 00 10\s+vdpphps 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 38 52 31\s+vdpphps \(%ecx\)\{1to8\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 2f 52 71 7f\s+vdpphps 0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 bf 52 72 80\s+vdpphps -0x200\(%edx\)\{1to8\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 0f 52 b4 f4 00 00 00 10\s+vdpphps 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 18 52 31\s+vdpphps \(%ecx\)\{1to4\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 0f 52 71 7f\s+vdpphps 0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 9f 52 72 80\s+vdpphps -0x200\(%edx\)\{1to4\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 56 0f 42 f4 7b\s+vmpsadbw \$0x7b,%xmm4,%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 2f 42 f4 7b\s+vmpsadbw \$0x7b,%ymm4,%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 2f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 2f 42 31 7b\s+vmpsadbw \$0x7b,\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 2f 42 71 7f 7b\s+vmpsadbw \$0x7b,0xfe0\(%ecx\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 af 42 72 80 7b\s+vmpsadbw \$0x7b,-0x1000\(%edx\),%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 56 0f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 0f 42 31 7b\s+vmpsadbw \$0x7b,\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 0f 42 71 7f 7b\s+vmpsadbw \$0x7b,0x7f0\(%ecx\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 8f 42 72 80 7b\s+vmpsadbw \$0x7b,-0x800\(%edx\),%xmm5,%xmm6\{%k7\}\{z\} +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-256-1.s b/gas/testsuite/gas/i386/avx10_2-256-1.s new file mode 100644 index 0000000..b1b30bd --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-1.s @@ -0,0 +1,111 @@ +# Check 32bit AVX10.2/256 instructions + + .arch generic32 + .arch .avx10.2/256 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %ymm4, %ymm5, %ymm6{%k7} + vpdpb\m\()d\s %xmm4, %xmm5, %xmm6{%k7} + vpdpb\m\()d\s 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + vpdpb\m\()d\s (%ecx){1to8}, %ymm5, %ymm6 + vpdpb\m\()d\s 4064(%ecx), %ymm5, %ymm6{%k7} + vpdpb\m\()d\s -512(%edx){1to8}, %ymm5, %ymm6{%k7}{z} + vpdpb\m\()d\s 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + vpdpb\m\()d\s (%ecx){1to4}, %xmm5, %xmm6 + vpdpb\m\()d\s 2032(%ecx), %xmm5, %xmm6{%k7} + vpdpb\m\()d\s -512(%edx){1to4}, %xmm5, %xmm6{%k7}{z} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %ymm4, %ymm5, %ymm6{%k7} + vpdpw\m\()d\s %xmm4, %xmm5, %xmm6{%k7} + vpdpw\m\()d\s 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + vpdpw\m\()d\s (%ecx){1to8}, %ymm5, %ymm6 + vpdpw\m\()d\s 4064(%ecx), %ymm5, %ymm6{%k7} + vpdpw\m\()d\s -512(%edx){1to8}, %ymm5, %ymm6{%k7}{z} + vpdpw\m\()d\s 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + vpdpw\m\()d\s (%ecx){1to4}, %xmm5, %xmm6 + vpdpw\m\()d\s 2032(%ecx), %xmm5, %xmm6{%k7} + vpdpw\m\()d\s -512(%edx){1to4}, %xmm5, %xmm6{%k7}{z} + .endr + .endr + + vdpphps %ymm4, %ymm5, %ymm6{%k7} + vdpphps %xmm4, %xmm5, %xmm6{%k7} + vdpphps 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + vdpphps (%ecx){1to8}, %ymm5, %ymm6 + vdpphps 4064(%ecx), %ymm5, %ymm6{%k7} + vdpphps -512(%edx){1to8}, %ymm5, %ymm6{%k7}{z} + vdpphps 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + vdpphps (%ecx){1to4}, %xmm5, %xmm6 + vdpphps 2032(%ecx), %xmm5, %xmm6{%k7} + vdpphps -512(%edx){1to4}, %xmm5, %xmm6{%k7}{z} + + vmpsadbw $123, %xmm4, %xmm5, %xmm6{%k7} + vmpsadbw $123, %ymm4, %ymm5, %ymm6{%k7} + vmpsadbw $123, 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + vmpsadbw $123, (%ecx), %ymm5, %ymm6{%k7} + vmpsadbw $123, 4064(%ecx), %ymm5, %ymm6{%k7} + vmpsadbw $123, -4096(%edx), %ymm5, %ymm6{%k7}{z} + vmpsadbw $123, 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + vmpsadbw $123, (%ecx), %xmm5, %xmm6{%k7} + vmpsadbw $123, 2032(%ecx), %xmm5, %xmm6{%k7} + vmpsadbw $123, -2048(%edx), %xmm5, %xmm6{%k7}{z} + +_intel: + .intel_syntax noprefix + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s ymm6{k7}, ymm5, ymm4 + vpdpb\m\()d\s xmm6{k7}, xmm5, xmm4 + vpdpb\m\()d\s ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] + vpdpb\m\()d\s ymm6, ymm5, DWORD PTR [ecx]{1to8} + vpdpb\m\()d\s ymm6{k7}, ymm5, YMMWORD PTR [ecx+4064] + vpdpb\m\()d\s ymm6{k7}{z}, ymm5, DWORD PTR [edx-512]{1to8} + vpdpb\m\()d\s xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] + vpdpb\m\()d\s xmm6, xmm5, DWORD PTR [ecx]{1to4} + vpdpb\m\()d\s xmm6{k7}, xmm5, XMMWORD PTR [ecx+2032] + vpdpb\m\()d\s xmm6{k7}{z}, xmm5, DWORD PTR [edx-512]{1to4} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s ymm6{k7}, ymm5, ymm4 + vpdpw\m\()d\s xmm6{k7}, xmm5, xmm4 + vpdpw\m\()d\s ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] + vpdpw\m\()d\s ymm6, ymm5, DWORD PTR [ecx]{1to8} + vpdpw\m\()d\s ymm6{k7}, ymm5, YMMWORD PTR [ecx+4064] + vpdpw\m\()d\s ymm6{k7}{z}, ymm5, DWORD PTR [edx-512]{1to8} + vpdpw\m\()d\s xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] + vpdpw\m\()d\s xmm6, xmm5, DWORD PTR [ecx]{1to4} + vpdpw\m\()d\s xmm6{k7}, xmm5, XMMWORD PTR [ecx+2032] + vpdpw\m\()d\s xmm6{k7}{z}, xmm5, DWORD PTR [edx-512]{1to4} + .endr + .endr + + vdpphps ymm6{k7}, ymm5, ymm4 + vdpphps xmm6{k7}, xmm5, xmm4 + vdpphps ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] + vdpphps ymm6, ymm5, DWORD PTR [ecx]{1to8} + vdpphps ymm6{k7}, ymm5, YMMWORD PTR [ecx+4064] + vdpphps ymm6{k7}{z}, ymm5, DWORD PTR [edx-512]{1to8} + vdpphps xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000] + vdpphps xmm6, xmm5, DWORD PTR [ecx]{1to4} + vdpphps xmm6{k7}, xmm5, XMMWORD PTR [ecx+2032] + vdpphps xmm6{k7}{z}, xmm5, DWORD PTR [edx-512]{1to4} + + vmpsadbw xmm6{k7}, xmm5, xmm4, 123 + vmpsadbw ymm6{k7}, ymm5, ymm4, 123 + vmpsadbw ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000], 123 + vmpsadbw ymm6{k7}, ymm5, YMMWORD PTR [ecx], 123 + vmpsadbw ymm6{k7}, ymm5, YMMWORD PTR [ecx+4064], 123 + vmpsadbw ymm6{k7}{z}, ymm5, YMMWORD PTR [edx-4096], 123 + vmpsadbw xmm6{k7}, xmm5, XMMWORD PTR [esp+esi*8+0x10000000], 123 + vmpsadbw xmm6{k7}, xmm5, XMMWORD PTR [ecx], 123 + vmpsadbw xmm6{k7}, xmm5, XMMWORD PTR [ecx+2032], 123 + vmpsadbw xmm6{k7}{z}, xmm5, XMMWORD PTR [edx-2048], 123 diff --git a/gas/testsuite/gas/i386/avx10_2-512-1-intel.d b/gas/testsuite/gas/i386/avx10_2-512-1-intel.d new file mode 100644 index 0000000..27a36d2 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-1-intel.d @@ -0,0 +1,81 @@ +#objdump: -dw -Mintel +#name: i386 AVX10.2/512 media insns (Intel disassembly) +#source: avx10_2-512-1.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 f2 57 48 50 f4\s+vpdpbssd zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 57 4f 50 b4 f4 00 00 00 10\s+vpdpbssd zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 58 50 31\s+vpdpbssd zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 48 50 71 7f\s+vpdpbssd zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 57 df 50 72 80\s+vpdpbssd zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 57 48 51 f4\s+vpdpbssds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 57 4f 51 b4 f4 00 00 00 10\s+vpdpbssds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 57 58 51 31\s+vpdpbssds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 57 48 51 71 7f\s+vpdpbssds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 57 df 51 72 80\s+vpdpbssds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 48 50 f4\s+vpdpbsud zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 56 4f 50 b4 f4 00 00 00 10\s+vpdpbsud zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 58 50 31\s+vpdpbsud zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 48 50 71 7f\s+vpdpbsud zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 56 df 50 72 80\s+vpdpbsud zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 48 51 f4\s+vpdpbsuds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 56 4f 51 b4 f4 00 00 00 10\s+vpdpbsuds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 58 51 31\s+vpdpbsuds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 48 51 71 7f\s+vpdpbsuds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 56 df 51 72 80\s+vpdpbsuds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 48 50 f4\s+vpdpbuud zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 54 4f 50 b4 f4 00 00 00 10\s+vpdpbuud zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 58 50 31\s+vpdpbuud zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 48 50 71 7f\s+vpdpbuud zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 54 df 50 72 80\s+vpdpbuud zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 48 51 f4\s+vpdpbuuds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 54 4f 51 b4 f4 00 00 00 10\s+vpdpbuuds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 58 51 31\s+vpdpbuuds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 48 51 71 7f\s+vpdpbuuds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 54 df 51 72 80\s+vpdpbuuds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 48 d2 f4\s+vpdpwsud zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 56 4f d2 b4 f4 00 00 00 10\s+vpdpwsud zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 58 d2 31\s+vpdpwsud zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 48 d2 71 7f\s+vpdpwsud zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 56 df d2 72 80\s+vpdpwsud zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 56 48 d3 f4\s+vpdpwsuds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 56 4f d3 b4 f4 00 00 00 10\s+vpdpwsuds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 56 58 d3 31\s+vpdpwsuds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 56 48 d3 71 7f\s+vpdpwsuds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 56 df d3 72 80\s+vpdpwsuds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 48 d2 f4\s+vpdpwusd zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 55 4f d2 b4 f4 00 00 00 10\s+vpdpwusd zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 58 d2 31\s+vpdpwusd zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 48 d2 71 7f\s+vpdpwusd zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 55 df d2 72 80\s+vpdpwusd zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 55 48 d3 f4\s+vpdpwusds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 55 4f d3 b4 f4 00 00 00 10\s+vpdpwusds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 55 58 d3 31\s+vpdpwusds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 55 48 d3 71 7f\s+vpdpwusds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 55 df d3 72 80\s+vpdpwusds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 48 d2 f4\s+vpdpwuud zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 54 4f d2 b4 f4 00 00 00 10\s+vpdpwuud zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 58 d2 31\s+vpdpwuud zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 48 d2 71 7f\s+vpdpwuud zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 54 df d2 72 80\s+vpdpwuud zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 48 d3 f4\s+vpdpwuuds zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 54 4f d3 b4 f4 00 00 00 10\s+vpdpwuuds zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 58 d3 31\s+vpdpwuuds zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 48 d3 71 7f\s+vpdpwuuds zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 54 df d3 72 80\s+vpdpwuuds zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f2 54 48 52 f4\s+vdpphps zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f2 54 4f 52 b4 f4 00 00 00 10\s+vdpphps zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f2 54 58 52 31\s+vdpphps zmm6,zmm5,DWORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f2 54 48 52 71 7f\s+vdpphps zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f2 54 df 52 72 80\s+vdpphps zmm6\{k7\}\{z\},zmm5,DWORD BCST \[edx-0x200\] +\s*[a-f0-9]+:\s*62 f3 56 48 42 f4 7b\s+vmpsadbw zmm6,zmm5,zmm4,0x7b +\s*[a-f0-9]+:\s*62 f3 56 4f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 48 42 31 7b\s+vmpsadbw zmm6,zmm5,ZMMWORD PTR \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 48 42 71 7f 7b\s+vmpsadbw zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 56 cf 42 72 80 7b\s+vmpsadbw zmm6\{k7\}\{z\},zmm5,ZMMWORD PTR \[edx-0x2000\],0x7b +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-512-1.d b/gas/testsuite/gas/i386/avx10_2-512-1.d new file mode 100644 index 0000000..746c77a --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-1.d @@ -0,0 +1,79 @@ +#objdump: -dw +#name: i386 AVX10.2/512 media insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 f2 57 48 50 f4\s+vpdpbssd %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 4f 50 b4 f4 00 00 00 10\s+vpdpbssd 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 58 50 31\s+vpdpbssd \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 48 50 71 7f\s+vpdpbssd 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 df 50 72 80\s+vpdpbssd -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 57 48 51 f4\s+vpdpbssds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 4f 51 b4 f4 00 00 00 10\s+vpdpbssds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 57 58 51 31\s+vpdpbssds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 48 51 71 7f\s+vpdpbssds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 57 df 51 72 80\s+vpdpbssds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 48 50 f4\s+vpdpbsud %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 4f 50 b4 f4 00 00 00 10\s+vpdpbsud 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 58 50 31\s+vpdpbsud \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 48 50 71 7f\s+vpdpbsud 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 df 50 72 80\s+vpdpbsud -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 48 51 f4\s+vpdpbsuds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 4f 51 b4 f4 00 00 00 10\s+vpdpbsuds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 58 51 31\s+vpdpbsuds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 48 51 71 7f\s+vpdpbsuds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 df 51 72 80\s+vpdpbsuds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 48 50 f4\s+vpdpbuud %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 4f 50 b4 f4 00 00 00 10\s+vpdpbuud 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 58 50 31\s+vpdpbuud \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 48 50 71 7f\s+vpdpbuud 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 df 50 72 80\s+vpdpbuud -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 48 51 f4\s+vpdpbuuds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 4f 51 b4 f4 00 00 00 10\s+vpdpbuuds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 58 51 31\s+vpdpbuuds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 48 51 71 7f\s+vpdpbuuds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 df 51 72 80\s+vpdpbuuds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 48 d2 f4\s+vpdpwsud %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 4f d2 b4 f4 00 00 00 10\s+vpdpwsud 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 58 d2 31\s+vpdpwsud \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 48 d2 71 7f\s+vpdpwsud 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 df d2 72 80\s+vpdpwsud -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 56 48 d3 f4\s+vpdpwsuds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 4f d3 b4 f4 00 00 00 10\s+vpdpwsuds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 56 58 d3 31\s+vpdpwsuds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 48 d3 71 7f\s+vpdpwsuds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 56 df d3 72 80\s+vpdpwsuds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 48 d2 f4\s+vpdpwusd %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 4f d2 b4 f4 00 00 00 10\s+vpdpwusd 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 58 d2 31\s+vpdpwusd \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 48 d2 71 7f\s+vpdpwusd 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 df d2 72 80\s+vpdpwusd -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 55 48 d3 f4\s+vpdpwusds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 4f d3 b4 f4 00 00 00 10\s+vpdpwusds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 55 58 d3 31\s+vpdpwusds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 48 d3 71 7f\s+vpdpwusds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 55 df d3 72 80\s+vpdpwusds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 48 d2 f4\s+vpdpwuud %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 4f d2 b4 f4 00 00 00 10\s+vpdpwuud 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 58 d2 31\s+vpdpwuud \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 48 d2 71 7f\s+vpdpwuud 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 df d2 72 80\s+vpdpwuud -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 48 d3 f4\s+vpdpwuuds %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 4f d3 b4 f4 00 00 00 10\s+vpdpwuuds 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 58 d3 31\s+vpdpwuuds \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 48 d3 71 7f\s+vpdpwuuds 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 df d3 72 80\s+vpdpwuuds -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f2 54 48 52 f4\s+vdpphps %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 4f 52 b4 f4 00 00 00 10\s+vdpphps 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f2 54 58 52 31\s+vdpphps \(%ecx\)\{1to16\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 48 52 71 7f\s+vdpphps 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f2 54 df 52 72 80\s+vdpphps -0x200\(%edx\)\{1to16\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 56 48 42 f4 7b\s+vmpsadbw \$0x7b,%zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 56 4f 42 b4 f4 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 56 48 42 31 7b\s+vmpsadbw \$0x7b,\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 56 48 42 71 7f 7b\s+vmpsadbw \$0x7b,0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 56 cf 42 72 80 7b\s+vmpsadbw \$0x7b,-0x2000\(%edx\),%zmm5,%zmm6\{%k7\}\{z\} +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-512-1.s b/gas/testsuite/gas/i386/avx10_2-512-1.s new file mode 100644 index 0000000..9133c03 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-1.s @@ -0,0 +1,71 @@ +# Check 32bit AVX10.2/512 instructions + + .arch generic32 + .arch .avx10.2/512 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %zmm4, %zmm5, %zmm6 + vpdpb\m\()d\s 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + vpdpb\m\()d\s (%ecx){1to16}, %zmm5, %zmm6 + vpdpb\m\()d\s 8128(%ecx), %zmm5, %zmm6 + vpdpb\m\()d\s -512(%edx){1to16}, %zmm5, %zmm6{%k7}{z} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %zmm4, %zmm5, %zmm6 + vpdpw\m\()d\s 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + vpdpw\m\()d\s (%ecx){1to16}, %zmm5, %zmm6 + vpdpw\m\()d\s 8128(%ecx), %zmm5, %zmm6 + vpdpw\m\()d\s -512(%edx){1to16}, %zmm5, %zmm6{%k7}{z} + .endr + .endr + + vdpphps %zmm4, %zmm5, %zmm6 + vdpphps 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + vdpphps (%ecx){1to16}, %zmm5, %zmm6 + vdpphps 8128(%ecx), %zmm5, %zmm6 + vdpphps -512(%edx){1to16}, %zmm5, %zmm6{%k7}{z} + + vmpsadbw $123, %zmm4, %zmm5, %zmm6 + vmpsadbw $123, 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + vmpsadbw $123, (%ecx), %zmm5, %zmm6 + vmpsadbw $123, 8128(%ecx), %zmm5, %zmm6 + vmpsadbw $123, -8192(%edx), %zmm5, %zmm6{%k7}{z} + +_intel: + .intel_syntax noprefix + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s zmm6, zmm5, zmm4 + vpdpb\m\()d\s zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000] + vpdpb\m\()d\s zmm6, zmm5, DWORD PTR [ecx]{1to16} + vpdpb\m\()d\s zmm6, zmm5, ZMMWORD PTR [ecx+8128] + vpdpb\m\()d\s zmm6{k7}{z}, zmm5, DWORD PTR [edx-512]{1to16} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s zmm6, zmm5, zmm4 + vpdpw\m\()d\s zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000] + vpdpw\m\()d\s zmm6, zmm5, DWORD PTR [ecx]{1to16} + vpdpw\m\()d\s zmm6, zmm5, ZMMWORD PTR [ecx+8128] + vpdpw\m\()d\s zmm6{k7}{z}, zmm5, DWORD PTR [edx-512]{1to16} + .endr + .endr + + vdpphps zmm6, zmm5, zmm4 + vdpphps zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000] + vdpphps zmm6, zmm5, DWORD PTR [ecx]{1to16} + vdpphps zmm6, zmm5, ZMMWORD PTR [ecx+8128] + vdpphps zmm6{k7}{z}, zmm5, DWORD PTR [edx-512]{1to16} + + vmpsadbw zmm6, zmm5, zmm4, 123 + vmpsadbw zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000], 123 + vmpsadbw zmm6, zmm5, ZMMWORD PTR [ecx], 123 + vmpsadbw zmm6, zmm5, ZMMWORD PTR [ecx+8128], 123 + vmpsadbw zmm6{k7}{z}, zmm5, ZMMWORD PTR [edx-8192], 123 diff --git a/gas/testsuite/gas/i386/avx10_2-evex-promote.d b/gas/testsuite/gas/i386/avx10_2-evex-promote.d new file mode 100644 index 0000000..ba3ef92 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-evex-promote.d @@ -0,0 +1,113 @@ +#objdump: -dw +#name: i386 AVX10.2/256 evex promote insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*c4 e2 57 50 f4\s+vpdpbssd %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 50 f4\s+vpdpbssd %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 57 50 31\s+vpdpbssd \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 50 31\s+vpdpbssd \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 50 f4\s+\{evex\} vpdpbssd %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 50 f4\s+\{evex\} vpdpbssd %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 50 31\s+\{evex\} vpdpbssd \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 50 31\s+\{evex\} vpdpbssd \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 57 51 f4\s+vpdpbssds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 51 f4\s+vpdpbssds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 57 51 31\s+vpdpbssds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 51 31\s+vpdpbssds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 51 f4\s+\{evex\} vpdpbssds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 51 f4\s+\{evex\} vpdpbssds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 51 31\s+\{evex\} vpdpbssds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 51 31\s+\{evex\} vpdpbssds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 50 f4\s+vpdpbsud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 50 f4\s+vpdpbsud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 50 31\s+vpdpbsud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 50 31\s+vpdpbsud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 50 f4\s+\{evex\} vpdpbsud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 50 f4\s+\{evex\} vpdpbsud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 50 31\s+\{evex\} vpdpbsud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 50 31\s+\{evex\} vpdpbsud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 51 f4\s+vpdpbsuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 51 f4\s+vpdpbsuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 51 31\s+vpdpbsuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 51 31\s+vpdpbsuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 51 f4\s+\{evex\} vpdpbsuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 51 f4\s+\{evex\} vpdpbsuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 51 31\s+\{evex\} vpdpbsuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 51 31\s+\{evex\} vpdpbsuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 50 f4\s+vpdpbuud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 50 f4\s+vpdpbuud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 50 31\s+vpdpbuud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 50 31\s+vpdpbuud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 50 f4\s+\{evex\} vpdpbuud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 50 f4\s+\{evex\} vpdpbuud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 50 31\s+\{evex\} vpdpbuud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 50 31\s+\{evex\} vpdpbuud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 51 f4\s+vpdpbuuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 51 f4\s+vpdpbuuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 51 31\s+vpdpbuuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 51 31\s+vpdpbuuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 51 f4\s+\{evex\} vpdpbuuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 51 f4\s+\{evex\} vpdpbuuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 51 31\s+\{evex\} vpdpbuuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 51 31\s+\{evex\} vpdpbuuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d2 f4\s+vpdpwsud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d2 f4\s+vpdpwsud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d2 f4\s+\{evex\} vpdpwsud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d2 f4\s+\{evex\} vpdpwsud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d2 31\s+\{evex\} vpdpwsud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d2 31\s+\{evex\} vpdpwsud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d3 f4\s+vpdpwsuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d3 f4\s+vpdpwsuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d3 f4\s+\{evex\} vpdpwsuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d3 f4\s+\{evex\} vpdpwsuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d3 31\s+\{evex\} vpdpwsuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d3 31\s+\{evex\} vpdpwsuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d2 f4\s+vpdpwusd %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d2 f4\s+vpdpwusd %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d2 f4\s+\{evex\} vpdpwusd %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d2 f4\s+\{evex\} vpdpwusd %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d2 31\s+\{evex\} vpdpwusd \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d2 31\s+\{evex\} vpdpwusd \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d3 f4\s+vpdpwusds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d3 f4\s+vpdpwusds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d3 f4\s+\{evex\} vpdpwusds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d3 f4\s+\{evex\} vpdpwusds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d3 31\s+\{evex\} vpdpwusds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d3 31\s+\{evex\} vpdpwusds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d2 f4\s+vpdpwuud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d2 f4\s+vpdpwuud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d2 f4\s+\{evex\} vpdpwuud %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d2 f4\s+\{evex\} vpdpwuud %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d2 31\s+\{evex\} vpdpwuud \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d2 31\s+\{evex\} vpdpwuud \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d3 f4\s+vpdpwuuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d3 f4\s+vpdpwuuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d3 f4\s+\{evex\} vpdpwuuds %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d3 f4\s+\{evex\} vpdpwuuds %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d3 31\s+\{evex\} vpdpwuuds \(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d3 31\s+\{evex\} vpdpwuuds \(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e3 51 42 f4 7b\s+vmpsadbw \$0x7b,%xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e3 55 42 f4 7b\s+vmpsadbw \$0x7b,%ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e3 51 42 31 7b\s+vmpsadbw \$0x7b,\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e3 55 42 31 7b\s+vmpsadbw \$0x7b,\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 56 08 42 f4 7b\s+\{evex\} vmpsadbw \$0x7b,%xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 56 28 42 f4 7b\s+\{evex\} vmpsadbw \$0x7b,%ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 56 08 42 31 7b\s+\{evex\} vmpsadbw \$0x7b,\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 56 28 42 31 7b\s+\{evex\} vmpsadbw \$0x7b,\(%ecx\),%ymm5,%ymm6 +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-evex-promote.s b/gas/testsuite/gas/i386/avx10_2-evex-promote.s new file mode 100644 index 0000000..2f68815 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-evex-promote.s @@ -0,0 +1,42 @@ +# Check AVX10.2/256 evex promoted instructions + + .arch generic32 + .arch .avx10.2/256 + .arch .avx_vnni_int16 + .arch .avx_vnni_int8 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %ymm4, %ymm5, %ymm6 + vpdpb\m\()d\s %xmm4, %xmm5, %xmm6 + vpdpb\m\()d\s (%ecx), %ymm5, %ymm6 + vpdpb\m\()d\s (%ecx), %xmm5, %xmm6 + {evex} vpdpb\m\()d\s %ymm4, %ymm5, %ymm6 + {evex} vpdpb\m\()d\s %xmm4, %xmm5, %xmm6 + {evex} vpdpb\m\()d\s (%ecx), %ymm5, %ymm6 + {evex} vpdpb\m\()d\s (%ecx), %xmm5, %xmm6 + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %ymm4, %ymm5, %ymm6 + vpdpw\m\()d\s %xmm4, %xmm5, %xmm6 + vpdpw\m\()d\s (%ecx), %ymm5, %ymm6 + vpdpw\m\()d\s (%ecx), %xmm5, %xmm6 + {evex} vpdpw\m\()d\s %ymm4, %ymm5, %ymm6 + {evex} vpdpw\m\()d\s %xmm4, %xmm5, %xmm6 + {evex} vpdpw\m\()d\s (%ecx), %ymm5, %ymm6 + {evex} vpdpw\m\()d\s (%ecx), %xmm5, %xmm6 + .endr + .endr + + vmpsadbw $123, %xmm4, %xmm5, %xmm6 + vmpsadbw $123, %ymm4, %ymm5, %ymm6 + vmpsadbw $123, (%ecx), %xmm5, %xmm6 + vmpsadbw $123, (%ecx), %ymm5, %ymm6 + {evex} vmpsadbw $123, %xmm4, %xmm5, %xmm6 + {evex} vmpsadbw $123, %ymm4, %ymm5, %ymm6 + {evex} vmpsadbw $123, (%ecx), %xmm5, %xmm6 + {evex} vmpsadbw $123, (%ecx), %ymm5, %ymm6 diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 6710a56..699e200 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -522,6 +522,11 @@ if [gas_32_check] then { run_dump_test "avx10_2-rounding" run_dump_test "avx10_2-rounding-intel" run_list_test "avx10_2-rounding-inval" + run_dump_test "avx10_2-evex-promote" + run_dump_test "avx10_2-512-1" + run_dump_test "avx10_2-512-1-intel" + run_dump_test "avx10_2-256-1" + run_dump_test "avx10_2-256-1-intel" run_list_test "sg" run_dump_test "clzero" run_dump_test "invlpgb" diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-1-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1-intel.d new file mode 100644 index 0000000..5be75c6 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1-intel.d @@ -0,0 +1,151 @@ +#objdump: -dw -Mintel +#name: x86_64 AVX10.2/256 media insns (Intel disassembly) +#source: x86-64-avx10_2-256-1.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 02 17 20 50 f4\s+vpdpbssd ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 17 00 50 f4\s+vpdpbssd xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 17 27 50 b4 f5 00 00 00 10\s+vpdpbssd ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 30 50 31\s+vpdpbssd ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 20 50 71 7f\s+vpdpbssd ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 17 b7 50 72 80\s+vpdpbssd ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 17 07 50 b4 f5 00 00 00 10\s+vpdpbssd xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 10 50 31\s+vpdpbssd xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 00 50 71 7f\s+vpdpbssd xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 17 97 50 72 80\s+vpdpbssd xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 17 20 51 f4\s+vpdpbssds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 17 00 51 f4\s+vpdpbssds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 17 27 51 b4 f5 00 00 00 10\s+vpdpbssds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 30 51 31\s+vpdpbssds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 20 51 71 7f\s+vpdpbssds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 17 b7 51 72 80\s+vpdpbssds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 17 07 51 b4 f5 00 00 00 10\s+vpdpbssds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 10 51 31\s+vpdpbssds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 00 51 71 7f\s+vpdpbssds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 17 97 51 72 80\s+vpdpbssds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 20 50 f4\s+vpdpbsud ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 16 00 50 f4\s+vpdpbsud xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 16 27 50 b4 f5 00 00 00 10\s+vpdpbsud ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 30 50 31\s+vpdpbsud ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 20 50 71 7f\s+vpdpbsud ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 16 b7 50 72 80\s+vpdpbsud ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 16 07 50 b4 f5 00 00 00 10\s+vpdpbsud xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 10 50 31\s+vpdpbsud xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 00 50 71 7f\s+vpdpbsud xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 16 97 50 72 80\s+vpdpbsud xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 20 51 f4\s+vpdpbsuds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 16 00 51 f4\s+vpdpbsuds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 16 27 51 b4 f5 00 00 00 10\s+vpdpbsuds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 30 51 31\s+vpdpbsuds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 20 51 71 7f\s+vpdpbsuds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 16 b7 51 72 80\s+vpdpbsuds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 16 07 51 b4 f5 00 00 00 10\s+vpdpbsuds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 10 51 31\s+vpdpbsuds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 00 51 71 7f\s+vpdpbsuds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 16 97 51 72 80\s+vpdpbsuds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 20 50 f4\s+vpdpbuud ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 14 00 50 f4\s+vpdpbuud xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 14 27 50 b4 f5 00 00 00 10\s+vpdpbuud ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 30 50 31\s+vpdpbuud ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 20 50 71 7f\s+vpdpbuud ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 14 b7 50 72 80\s+vpdpbuud ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 14 07 50 b4 f5 00 00 00 10\s+vpdpbuud xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 10 50 31\s+vpdpbuud xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 00 50 71 7f\s+vpdpbuud xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 14 97 50 72 80\s+vpdpbuud xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 20 51 f4\s+vpdpbuuds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 14 00 51 f4\s+vpdpbuuds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 14 27 51 b4 f5 00 00 00 10\s+vpdpbuuds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 30 51 31\s+vpdpbuuds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 20 51 71 7f\s+vpdpbuuds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 14 b7 51 72 80\s+vpdpbuuds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 14 07 51 b4 f5 00 00 00 10\s+vpdpbuuds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 10 51 31\s+vpdpbuuds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 00 51 71 7f\s+vpdpbuuds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 14 97 51 72 80\s+vpdpbuuds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 20 d2 f4\s+vpdpwsud ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 16 00 d2 f4\s+vpdpwsud xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 16 27 d2 b4 f5 00 00 00 10\s+vpdpwsud ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 30 d2 31\s+vpdpwsud ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 20 d2 71 7f\s+vpdpwsud ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 16 b7 d2 72 80\s+vpdpwsud ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 16 07 d2 b4 f5 00 00 00 10\s+vpdpwsud xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 10 d2 31\s+vpdpwsud xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 00 d2 71 7f\s+vpdpwsud xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 16 97 d2 72 80\s+vpdpwsud xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 20 d3 f4\s+vpdpwsuds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 16 00 d3 f4\s+vpdpwsuds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 16 27 d3 b4 f5 00 00 00 10\s+vpdpwsuds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 30 d3 31\s+vpdpwsuds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 20 d3 71 7f\s+vpdpwsuds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 16 b7 d3 72 80\s+vpdpwsuds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 16 07 d3 b4 f5 00 00 00 10\s+vpdpwsuds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 10 d3 31\s+vpdpwsuds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 00 d3 71 7f\s+vpdpwsuds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 16 97 d3 72 80\s+vpdpwsuds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 15 20 d2 f4\s+vpdpwusd ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 15 00 d2 f4\s+vpdpwusd xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 15 27 d2 b4 f5 00 00 00 10\s+vpdpwusd ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 30 d2 31\s+vpdpwusd ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 20 d2 71 7f\s+vpdpwusd ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 15 b7 d2 72 80\s+vpdpwusd ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 15 07 d2 b4 f5 00 00 00 10\s+vpdpwusd xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 10 d2 31\s+vpdpwusd xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 00 d2 71 7f\s+vpdpwusd xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 15 97 d2 72 80\s+vpdpwusd xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 15 20 d3 f4\s+vpdpwusds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 15 00 d3 f4\s+vpdpwusds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 15 27 d3 b4 f5 00 00 00 10\s+vpdpwusds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 30 d3 31\s+vpdpwusds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 20 d3 71 7f\s+vpdpwusds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 15 b7 d3 72 80\s+vpdpwusds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 15 07 d3 b4 f5 00 00 00 10\s+vpdpwusds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 10 d3 31\s+vpdpwusds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 00 d3 71 7f\s+vpdpwusds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 15 97 d3 72 80\s+vpdpwusds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 20 d2 f4\s+vpdpwuud ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 14 00 d2 f4\s+vpdpwuud xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 14 27 d2 b4 f5 00 00 00 10\s+vpdpwuud ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 30 d2 31\s+vpdpwuud ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 20 d2 71 7f\s+vpdpwuud ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 14 b7 d2 72 80\s+vpdpwuud ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 14 07 d2 b4 f5 00 00 00 10\s+vpdpwuud xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 10 d2 31\s+vpdpwuud xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 00 d2 71 7f\s+vpdpwuud xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 14 97 d2 72 80\s+vpdpwuud xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 20 d3 f4\s+vpdpwuuds ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 14 00 d3 f4\s+vpdpwuuds xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 14 27 d3 b4 f5 00 00 00 10\s+vpdpwuuds ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 30 d3 31\s+vpdpwuuds ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 20 d3 71 7f\s+vpdpwuuds ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 14 b7 d3 72 80\s+vpdpwuuds ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 14 07 d3 b4 f5 00 00 00 10\s+vpdpwuuds xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 10 d3 31\s+vpdpwuuds xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 00 d3 71 7f\s+vpdpwuuds xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 14 97 d3 72 80\s+vpdpwuuds xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 20 52 f4\s+vdpphps ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 02 14 00 52 f4\s+vdpphps xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 22 14 27 52 b4 f5 00 00 00 10\s+vdpphps ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 30 52 31\s+vdpphps ymm30,ymm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 20 52 71 7f\s+vdpphps ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 62 14 b7 52 72 80\s+vdpphps ymm30\{k7\}\{z\},ymm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 22 14 07 52 b4 f5 00 00 00 10\s+vdpphps xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 10 52 31\s+vdpphps xmm30,xmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 00 52 71 7f\s+vdpphps xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 62 14 97 52 72 80\s+vdpphps xmm30\{k7\}\{z\},xmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 03 16 00 42 f4 7b\s+vmpsadbw xmm30,xmm29,xmm28,0x7b +\s*[a-f0-9]+:\s*62 03 16 20 42 f4 7b\s+vmpsadbw ymm30,ymm29,ymm28,0x7b +\s*[a-f0-9]+:\s*62 23 16 27 42 b4 f5 00 00 00 10 7b\s+vmpsadbw ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 16 20 42 31 7b\s+vmpsadbw ymm30,ymm29,YMMWORD PTR \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 16 20 42 71 7f 7b\s+vmpsadbw ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 63 16 a7 42 72 80 7b\s+vmpsadbw ymm30\{k7\}\{z\},ymm29,YMMWORD PTR \[rdx-0x1000\],0x7b +\s*[a-f0-9]+:\s*62 23 16 07 42 b4 f5 00 00 00 10 7b\s+vmpsadbw xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 16 00 42 31 7b\s+vmpsadbw xmm30,xmm29,XMMWORD PTR \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 16 00 42 71 7f 7b\s+vmpsadbw xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 63 16 87 42 72 80 7b\s+vmpsadbw xmm30\{k7\}\{z\},xmm29,XMMWORD PTR \[rdx-0x800\],0x7b +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.d new file mode 100644 index 0000000..a512a53 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.d @@ -0,0 +1,149 @@ +#objdump: -dw +#name: x86_64 AVX10.2/256 media insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 02 17 20 50 f4\s+vpdpbssd %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 17 00 50 f4\s+vpdpbssd %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 17 27 50 b4 f5 00 00 00 10\s+vpdpbssd 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 30 50 31\s+vpdpbssd \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 17 20 50 71 7f\s+vpdpbssd 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 17 b7 50 72 80\s+vpdpbssd -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 17 07 50 b4 f5 00 00 00 10\s+vpdpbssd 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 10 50 31\s+vpdpbssd \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 17 00 50 71 7f\s+vpdpbssd 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 17 97 50 72 80\s+vpdpbssd -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 17 20 51 f4\s+vpdpbssds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 17 00 51 f4\s+vpdpbssds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 17 27 51 b4 f5 00 00 00 10\s+vpdpbssds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 30 51 31\s+vpdpbssds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 17 20 51 71 7f\s+vpdpbssds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 17 b7 51 72 80\s+vpdpbssds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 17 07 51 b4 f5 00 00 00 10\s+vpdpbssds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 10 51 31\s+vpdpbssds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 17 00 51 71 7f\s+vpdpbssds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 17 97 51 72 80\s+vpdpbssds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 20 50 f4\s+vpdpbsud %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 16 00 50 f4\s+vpdpbsud %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 16 27 50 b4 f5 00 00 00 10\s+vpdpbsud 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 30 50 31\s+vpdpbsud \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 20 50 71 7f\s+vpdpbsud 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 b7 50 72 80\s+vpdpbsud -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 16 07 50 b4 f5 00 00 00 10\s+vpdpbsud 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 10 50 31\s+vpdpbsud \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 00 50 71 7f\s+vpdpbsud 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 97 50 72 80\s+vpdpbsud -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 20 51 f4\s+vpdpbsuds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 16 00 51 f4\s+vpdpbsuds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 16 27 51 b4 f5 00 00 00 10\s+vpdpbsuds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 30 51 31\s+vpdpbsuds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 20 51 71 7f\s+vpdpbsuds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 b7 51 72 80\s+vpdpbsuds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 16 07 51 b4 f5 00 00 00 10\s+vpdpbsuds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 10 51 31\s+vpdpbsuds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 00 51 71 7f\s+vpdpbsuds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 97 51 72 80\s+vpdpbsuds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 20 50 f4\s+vpdpbuud %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 14 00 50 f4\s+vpdpbuud %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 14 27 50 b4 f5 00 00 00 10\s+vpdpbuud 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 30 50 31\s+vpdpbuud \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 20 50 71 7f\s+vpdpbuud 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 b7 50 72 80\s+vpdpbuud -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 14 07 50 b4 f5 00 00 00 10\s+vpdpbuud 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 10 50 31\s+vpdpbuud \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 00 50 71 7f\s+vpdpbuud 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 97 50 72 80\s+vpdpbuud -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 20 51 f4\s+vpdpbuuds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 14 00 51 f4\s+vpdpbuuds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 14 27 51 b4 f5 00 00 00 10\s+vpdpbuuds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 30 51 31\s+vpdpbuuds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 20 51 71 7f\s+vpdpbuuds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 b7 51 72 80\s+vpdpbuuds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 14 07 51 b4 f5 00 00 00 10\s+vpdpbuuds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 10 51 31\s+vpdpbuuds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 00 51 71 7f\s+vpdpbuuds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 97 51 72 80\s+vpdpbuuds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 20 d2 f4\s+vpdpwsud %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 16 00 d2 f4\s+vpdpwsud %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 16 27 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 30 d2 31\s+vpdpwsud \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 20 d2 71 7f\s+vpdpwsud 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 b7 d2 72 80\s+vpdpwsud -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 16 07 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 10 d2 31\s+vpdpwsud \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 00 d2 71 7f\s+vpdpwsud 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 97 d2 72 80\s+vpdpwsud -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 20 d3 f4\s+vpdpwsuds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 16 00 d3 f4\s+vpdpwsuds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 16 27 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 30 d3 31\s+vpdpwsuds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 20 d3 71 7f\s+vpdpwsuds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 16 b7 d3 72 80\s+vpdpwsuds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 16 07 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 10 d3 31\s+vpdpwsuds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 00 d3 71 7f\s+vpdpwsuds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 16 97 d3 72 80\s+vpdpwsuds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 15 20 d2 f4\s+vpdpwusd %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 15 00 d2 f4\s+vpdpwusd %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 15 27 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 30 d2 31\s+vpdpwusd \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 15 20 d2 71 7f\s+vpdpwusd 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 15 b7 d2 72 80\s+vpdpwusd -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 15 07 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 10 d2 31\s+vpdpwusd \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 15 00 d2 71 7f\s+vpdpwusd 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 15 97 d2 72 80\s+vpdpwusd -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 15 20 d3 f4\s+vpdpwusds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 15 00 d3 f4\s+vpdpwusds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 15 27 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 30 d3 31\s+vpdpwusds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 15 20 d3 71 7f\s+vpdpwusds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 15 b7 d3 72 80\s+vpdpwusds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 15 07 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 10 d3 31\s+vpdpwusds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 15 00 d3 71 7f\s+vpdpwusds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 15 97 d3 72 80\s+vpdpwusds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 20 d2 f4\s+vpdpwuud %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 14 00 d2 f4\s+vpdpwuud %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 14 27 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 30 d2 31\s+vpdpwuud \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 20 d2 71 7f\s+vpdpwuud 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 b7 d2 72 80\s+vpdpwuud -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 14 07 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 10 d2 31\s+vpdpwuud \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 00 d2 71 7f\s+vpdpwuud 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 97 d2 72 80\s+vpdpwuud -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 20 d3 f4\s+vpdpwuuds %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 14 00 d3 f4\s+vpdpwuuds %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 14 27 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 30 d3 31\s+vpdpwuuds \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 20 d3 71 7f\s+vpdpwuuds 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 b7 d3 72 80\s+vpdpwuuds -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 14 07 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 10 d3 31\s+vpdpwuuds \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 00 d3 71 7f\s+vpdpwuuds 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 97 d3 72 80\s+vpdpwuuds -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 20 52 f4\s+vdpphps %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 02 14 00 52 f4\s+vdpphps %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 22 14 27 52 b4 f5 00 00 00 10\s+vdpphps 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 30 52 31\s+vdpphps \(%r9\)\{1to8\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 20 52 71 7f\s+vdpphps 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 62 14 b7 52 72 80\s+vdpphps -0x200\(%rdx\)\{1to8\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 22 14 07 52 b4 f5 00 00 00 10\s+vdpphps 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 10 52 31\s+vdpphps \(%r9\)\{1to4\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 00 52 71 7f\s+vdpphps 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 62 14 97 52 72 80\s+vdpphps -0x200\(%rdx\)\{1to4\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 16 00 42 f4 7b\s+vmpsadbw \$0x7b,%xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 03 16 20 42 f4 7b\s+vmpsadbw \$0x7b,%ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 23 16 27 42 b4 f5 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 16 20 42 31 7b\s+vmpsadbw \$0x7b,\(%r9\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 63 16 20 42 71 7f 7b\s+vmpsadbw \$0x7b,0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 63 16 a7 42 72 80 7b\s+vmpsadbw \$0x7b,-0x1000\(%rdx\),%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 23 16 07 42 b4 f5 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 16 00 42 31 7b\s+vmpsadbw \$0x7b,\(%r9\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 63 16 00 42 71 7f 7b\s+vmpsadbw \$0x7b,0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 63 16 87 42 72 80 7b\s+vmpsadbw \$0x7b,-0x800\(%rdx\),%xmm29,%xmm30\{%k7\}\{z\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.s new file mode 100644 index 0000000..8f58d39 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-1.s @@ -0,0 +1,111 @@ +# Check 64bit AVX10.2/256 instructions + + .arch generic64 + .arch .avx10.2/256 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %ymm28, %ymm29, %ymm30 + vpdpb\m\()d\s %xmm28, %xmm29, %xmm30 + vpdpb\m\()d\s 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + vpdpb\m\()d\s (%r9){1to8}, %ymm29, %ymm30 + vpdpb\m\()d\s 4064(%rcx), %ymm29, %ymm30 + vpdpb\m\()d\s -512(%rdx){1to8}, %ymm29, %ymm30{%k7}{z} + vpdpb\m\()d\s 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + vpdpb\m\()d\s (%r9){1to4}, %xmm29, %xmm30 + vpdpb\m\()d\s 2032(%rcx), %xmm29, %xmm30 + vpdpb\m\()d\s -512(%rdx){1to4}, %xmm29, %xmm30{%k7}{z} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %ymm28, %ymm29, %ymm30 + vpdpw\m\()d\s %xmm28, %xmm29, %xmm30 + vpdpw\m\()d\s 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + vpdpw\m\()d\s (%r9){1to8}, %ymm29, %ymm30 + vpdpw\m\()d\s 4064(%rcx), %ymm29, %ymm30 + vpdpw\m\()d\s -512(%rdx){1to8}, %ymm29, %ymm30{%k7}{z} + vpdpw\m\()d\s 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + vpdpw\m\()d\s (%r9){1to4}, %xmm29, %xmm30 + vpdpw\m\()d\s 2032(%rcx), %xmm29, %xmm30 + vpdpw\m\()d\s -512(%rdx){1to4}, %xmm29, %xmm30{%k7}{z} + .endr + .endr + + vdpphps %ymm28, %ymm29, %ymm30 + vdpphps %xmm28, %xmm29, %xmm30 + vdpphps 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + vdpphps (%r9){1to8}, %ymm29, %ymm30 + vdpphps 4064(%rcx), %ymm29, %ymm30 + vdpphps -512(%rdx){1to8}, %ymm29, %ymm30{%k7}{z} + vdpphps 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + vdpphps (%r9){1to4}, %xmm29, %xmm30 + vdpphps 2032(%rcx), %xmm29, %xmm30 + vdpphps -512(%rdx){1to4}, %xmm29, %xmm30{%k7}{z} + + vmpsadbw $123, %xmm28, %xmm29, %xmm30 + vmpsadbw $123, %ymm28, %ymm29, %ymm30 + vmpsadbw $123, 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + vmpsadbw $123, (%r9), %ymm29, %ymm30 + vmpsadbw $123, 4064(%rcx), %ymm29, %ymm30 + vmpsadbw $123, -4096(%rdx), %ymm29, %ymm30{%k7}{z} + vmpsadbw $123, 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + vmpsadbw $123, (%r9), %xmm29, %xmm30 + vmpsadbw $123, 2032(%rcx), %xmm29, %xmm30 + vmpsadbw $123, -2048(%rdx), %xmm29, %xmm30{%k7}{z} + +_intel: + .intel_syntax noprefix + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s ymm30, ymm29, ymm28 + vpdpb\m\()d\s xmm30, xmm29, xmm28 + vpdpb\m\()d\s ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000] + vpdpb\m\()d\s ymm30, ymm29, DWORD PTR [r9]{1to8} + vpdpb\m\()d\s ymm30, ymm29, YMMWORD PTR [rcx+4064] + vpdpb\m\()d\s ymm30{k7}{z}, ymm29, DWORD PTR [rdx-512]{1to8} + vpdpb\m\()d\s xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000] + vpdpb\m\()d\s xmm30, xmm29, DWORD PTR [r9]{1to4} + vpdpb\m\()d\s xmm30, xmm29, XMMWORD PTR [rcx+2032] + vpdpb\m\()d\s xmm30{k7}{z}, xmm29, DWORD PTR [rdx-512]{1to4} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s ymm30, ymm29, ymm28 + vpdpw\m\()d\s xmm30, xmm29, xmm28 + vpdpw\m\()d\s ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000] + vpdpw\m\()d\s ymm30, ymm29, DWORD PTR [r9]{1to8} + vpdpw\m\()d\s ymm30, ymm29, YMMWORD PTR [rcx+4064] + vpdpw\m\()d\s ymm30{k7}{z}, ymm29, DWORD PTR [rdx-512]{1to8} + vpdpw\m\()d\s xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000] + vpdpw\m\()d\s xmm30, xmm29, DWORD PTR [r9]{1to4} + vpdpw\m\()d\s xmm30, xmm29, XMMWORD PTR [rcx+2032] + vpdpw\m\()d\s xmm30{k7}{z}, xmm29, DWORD PTR [rdx-512]{1to4} + .endr + .endr + + vdpphps ymm30, ymm29, ymm28 + vdpphps xmm30, xmm29, xmm28 + vdpphps ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000] + vdpphps ymm30, ymm29, DWORD PTR [r9]{1to8} + vdpphps ymm30, ymm29, YMMWORD PTR [rcx+4064] + vdpphps ymm30{k7}{z}, ymm29, DWORD PTR [rdx-512]{1to8} + vdpphps xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000] + vdpphps xmm30, xmm29, DWORD PTR [r9]{1to4} + vdpphps xmm30, xmm29, XMMWORD PTR [rcx+2032] + vdpphps xmm30{k7}{z}, xmm29, DWORD PTR [rdx-512]{1to4} + + vmpsadbw xmm30, xmm29, xmm28, 123 + vmpsadbw ymm30, ymm29, ymm28, 123 + vmpsadbw ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000], 123 + vmpsadbw ymm30, ymm29, YMMWORD PTR [r9], 123 + vmpsadbw ymm30, ymm29, YMMWORD PTR [rcx+4064], 123 + vmpsadbw ymm30{k7}{z}, ymm29, YMMWORD PTR [rdx-4096], 123 + vmpsadbw xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000], 123 + vmpsadbw xmm30, xmm29, XMMWORD PTR [r9], 123 + vmpsadbw xmm30, xmm29, XMMWORD PTR [rcx+2032], 123 + vmpsadbw xmm30{k7}{z}, xmm29, XMMWORD PTR [rdx-2048], 123 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-1-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1-intel.d new file mode 100644 index 0000000..0049b0a --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1-intel.d @@ -0,0 +1,81 @@ +#objdump: -dw -Mintel +#name: x86_64 AVX10.2/512 media insns (Intel disassembly) +#source: x86-64-avx10_2-512-1.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 02 17 40 50 f4\s+vpdpbssd zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 17 47 50 b4 f5 00 00 00 10\s+vpdpbssd zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 50 50 31\s+vpdpbssd zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 40 50 71 7f\s+vpdpbssd zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 17 d7 50 72 80\s+vpdpbssd zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 17 40 51 f4\s+vpdpbssds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 17 47 51 b4 f5 00 00 00 10\s+vpdpbssds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 17 50 51 31\s+vpdpbssds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 17 40 51 71 7f\s+vpdpbssds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 17 d7 51 72 80\s+vpdpbssds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 40 50 f4\s+vpdpbsud zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 16 47 50 b4 f5 00 00 00 10\s+vpdpbsud zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 50 50 31\s+vpdpbsud zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 40 50 71 7f\s+vpdpbsud zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 16 d7 50 72 80\s+vpdpbsud zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 40 51 f4\s+vpdpbsuds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 16 47 51 b4 f5 00 00 00 10\s+vpdpbsuds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 50 51 31\s+vpdpbsuds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 40 51 71 7f\s+vpdpbsuds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 16 d7 51 72 80\s+vpdpbsuds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 40 50 f4\s+vpdpbuud zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 14 47 50 b4 f5 00 00 00 10\s+vpdpbuud zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 50 50 31\s+vpdpbuud zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 40 50 71 7f\s+vpdpbuud zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 14 d7 50 72 80\s+vpdpbuud zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 40 51 f4\s+vpdpbuuds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 14 47 51 b4 f5 00 00 00 10\s+vpdpbuuds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 50 51 31\s+vpdpbuuds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 40 51 71 7f\s+vpdpbuuds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 14 d7 51 72 80\s+vpdpbuuds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 40 d2 f4\s+vpdpwsud zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 16 47 d2 b4 f5 00 00 00 10\s+vpdpwsud zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 50 d2 31\s+vpdpwsud zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 40 d2 71 7f\s+vpdpwsud zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 16 d7 d2 72 80\s+vpdpwsud zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 16 40 d3 f4\s+vpdpwsuds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 16 47 d3 b4 f5 00 00 00 10\s+vpdpwsuds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 16 50 d3 31\s+vpdpwsuds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 16 40 d3 71 7f\s+vpdpwsuds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 16 d7 d3 72 80\s+vpdpwsuds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 15 40 d2 f4\s+vpdpwusd zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 15 47 d2 b4 f5 00 00 00 10\s+vpdpwusd zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 50 d2 31\s+vpdpwusd zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 40 d2 71 7f\s+vpdpwusd zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 15 d7 d2 72 80\s+vpdpwusd zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 15 40 d3 f4\s+vpdpwusds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 15 47 d3 b4 f5 00 00 00 10\s+vpdpwusds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 15 50 d3 31\s+vpdpwusds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 15 40 d3 71 7f\s+vpdpwusds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 15 d7 d3 72 80\s+vpdpwusds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 40 d2 f4\s+vpdpwuud zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 14 47 d2 b4 f5 00 00 00 10\s+vpdpwuud zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 50 d2 31\s+vpdpwuud zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 40 d2 71 7f\s+vpdpwuud zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 14 d7 d2 72 80\s+vpdpwuud zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 40 d3 f4\s+vpdpwuuds zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 14 47 d3 b4 f5 00 00 00 10\s+vpdpwuuds zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 50 d3 31\s+vpdpwuuds zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 40 d3 71 7f\s+vpdpwuuds zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 14 d7 d3 72 80\s+vpdpwuuds zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 02 14 40 52 f4\s+vdpphps zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 22 14 47 52 b4 f5 00 00 00 10\s+vdpphps zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 42 14 50 52 31\s+vdpphps zmm30,zmm29,DWORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 62 14 40 52 71 7f\s+vdpphps zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 62 14 d7 52 72 80\s+vdpphps zmm30\{k7\}\{z\},zmm29,DWORD BCST \[rdx-0x200\] +\s*[a-f0-9]+:\s*62 03 16 40 42 f4 7b\s+vmpsadbw zmm30,zmm29,zmm28,0x7b +\s*[a-f0-9]+:\s*62 23 16 47 42 b4 f5 00 00 00 10 7b\s+vmpsadbw zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 16 40 42 31 7b\s+vmpsadbw zmm30,zmm29,ZMMWORD PTR \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 16 40 42 71 7f 7b\s+vmpsadbw zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 63 16 c7 42 72 80 7b\s+vmpsadbw zmm30\{k7\}\{z\},zmm29,ZMMWORD PTR \[rdx-0x2000\],0x7b +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.d new file mode 100644 index 0000000..4c41b19 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.d @@ -0,0 +1,79 @@ +#objdump: -dw +#name: x86_64 AVX10.2/512 media insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 02 17 40 50 f4\s+vpdpbssd %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 17 47 50 b4 f5 00 00 00 10\s+vpdpbssd 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 50 50 31\s+vpdpbssd \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 17 40 50 71 7f\s+vpdpbssd 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 17 d7 50 72 80\s+vpdpbssd -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 17 40 51 f4\s+vpdpbssds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 17 47 51 b4 f5 00 00 00 10\s+vpdpbssds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 17 50 51 31\s+vpdpbssds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 17 40 51 71 7f\s+vpdpbssds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 17 d7 51 72 80\s+vpdpbssds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 40 50 f4\s+vpdpbsud %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 16 47 50 b4 f5 00 00 00 10\s+vpdpbsud 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 50 50 31\s+vpdpbsud \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 40 50 71 7f\s+vpdpbsud 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 d7 50 72 80\s+vpdpbsud -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 40 51 f4\s+vpdpbsuds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 16 47 51 b4 f5 00 00 00 10\s+vpdpbsuds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 50 51 31\s+vpdpbsuds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 40 51 71 7f\s+vpdpbsuds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 d7 51 72 80\s+vpdpbsuds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 40 50 f4\s+vpdpbuud %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 14 47 50 b4 f5 00 00 00 10\s+vpdpbuud 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 50 50 31\s+vpdpbuud \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 40 50 71 7f\s+vpdpbuud 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 d7 50 72 80\s+vpdpbuud -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 40 51 f4\s+vpdpbuuds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 14 47 51 b4 f5 00 00 00 10\s+vpdpbuuds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 50 51 31\s+vpdpbuuds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 40 51 71 7f\s+vpdpbuuds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 d7 51 72 80\s+vpdpbuuds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 40 d2 f4\s+vpdpwsud %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 16 47 d2 b4 f5 00 00 00 10\s+vpdpwsud 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 50 d2 31\s+vpdpwsud \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 40 d2 71 7f\s+vpdpwsud 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 d7 d2 72 80\s+vpdpwsud -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 16 40 d3 f4\s+vpdpwsuds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 16 47 d3 b4 f5 00 00 00 10\s+vpdpwsuds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 16 50 d3 31\s+vpdpwsuds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 40 d3 71 7f\s+vpdpwsuds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 16 d7 d3 72 80\s+vpdpwsuds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 15 40 d2 f4\s+vpdpwusd %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 15 47 d2 b4 f5 00 00 00 10\s+vpdpwusd 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 50 d2 31\s+vpdpwusd \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 15 40 d2 71 7f\s+vpdpwusd 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 15 d7 d2 72 80\s+vpdpwusd -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 15 40 d3 f4\s+vpdpwusds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 15 47 d3 b4 f5 00 00 00 10\s+vpdpwusds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 15 50 d3 31\s+vpdpwusds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 15 40 d3 71 7f\s+vpdpwusds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 15 d7 d3 72 80\s+vpdpwusds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 40 d2 f4\s+vpdpwuud %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 14 47 d2 b4 f5 00 00 00 10\s+vpdpwuud 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 50 d2 31\s+vpdpwuud \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 40 d2 71 7f\s+vpdpwuud 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 d7 d2 72 80\s+vpdpwuud -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 40 d3 f4\s+vpdpwuuds %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 14 47 d3 b4 f5 00 00 00 10\s+vpdpwuuds 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 50 d3 31\s+vpdpwuuds \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 40 d3 71 7f\s+vpdpwuuds 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 d7 d3 72 80\s+vpdpwuuds -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 02 14 40 52 f4\s+vdpphps %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 22 14 47 52 b4 f5 00 00 00 10\s+vdpphps 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 42 14 50 52 31\s+vdpphps \(%r9\)\{1to16\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 40 52 71 7f\s+vdpphps 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 62 14 d7 52 72 80\s+vdpphps -0x200\(%rdx\)\{1to16\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 16 40 42 f4 7b\s+vmpsadbw \$0x7b,%zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 23 16 47 42 b4 f5 00 00 00 10 7b\s+vmpsadbw \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 16 40 42 31 7b\s+vmpsadbw \$0x7b,\(%r9\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 63 16 40 42 71 7f 7b\s+vmpsadbw \$0x7b,0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 63 16 c7 42 72 80 7b\s+vmpsadbw \$0x7b,-0x2000\(%rdx\),%zmm29,%zmm30\{%k7\}\{z\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.s b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.s new file mode 100644 index 0000000..c2bfa2a --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-1.s @@ -0,0 +1,71 @@ +# Check 64bit AVX10.2/512 instructions + + .arch generic64 + .arch .avx10.2/512 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %zmm28, %zmm29, %zmm30 + vpdpb\m\()d\s 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + vpdpb\m\()d\s (%r9){1to16}, %zmm29, %zmm30 + vpdpb\m\()d\s 8128(%rcx), %zmm29, %zmm30 + vpdpb\m\()d\s -512(%rdx){1to16}, %zmm29, %zmm30{%k7}{z} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %zmm28, %zmm29, %zmm30 + vpdpw\m\()d\s 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + vpdpw\m\()d\s (%r9){1to16}, %zmm29, %zmm30 + vpdpw\m\()d\s 8128(%rcx), %zmm29, %zmm30 + vpdpw\m\()d\s -512(%rdx){1to16}, %zmm29, %zmm30{%k7}{z} + .endr + .endr + + vdpphps %zmm28, %zmm29, %zmm30 + vdpphps 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + vdpphps (%r9){1to16}, %zmm29, %zmm30 + vdpphps 8128(%rcx), %zmm29, %zmm30 + vdpphps -512(%rdx){1to16}, %zmm29, %zmm30{%k7}{z} + + vmpsadbw $123, %zmm28, %zmm29, %zmm30 + vmpsadbw $123, 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + vmpsadbw $123, (%r9), %zmm29, %zmm30 + vmpsadbw $123, 8128(%rcx), %zmm29, %zmm30 + vmpsadbw $123, -8192(%rdx), %zmm29, %zmm30{%k7}{z} + +_intel: + .intel_syntax noprefix + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s zmm30, zmm29, zmm28 + vpdpb\m\()d\s zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000] + vpdpb\m\()d\s zmm30, zmm29, DWORD PTR [r9]{1to16} + vpdpb\m\()d\s zmm30, zmm29, ZMMWORD PTR [rcx+8128] + vpdpb\m\()d\s zmm30{k7}{z}, zmm29, DWORD PTR [rdx-512]{1to16} + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s zmm30, zmm29, zmm28 + vpdpw\m\()d\s zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000] + vpdpw\m\()d\s zmm30, zmm29, DWORD PTR [r9]{1to16} + vpdpw\m\()d\s zmm30, zmm29, ZMMWORD PTR [rcx+8128] + vpdpw\m\()d\s zmm30{k7}{z}, zmm29, DWORD PTR [rdx-512]{1to16} + .endr + .endr + + vdpphps zmm30, zmm29, zmm28 + vdpphps zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000] + vdpphps zmm30, zmm29, DWORD PTR [r9]{1to16} + vdpphps zmm30, zmm29, ZMMWORD PTR [rcx+8128] + vdpphps zmm30{k7}{z}, zmm29, DWORD PTR [rdx-512]{1to16} + + vmpsadbw zmm30, zmm29, zmm28, 123 + vmpsadbw zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000], 123 + vmpsadbw zmm30, zmm29, ZMMWORD PTR [r9], 123 + vmpsadbw zmm30, zmm29, ZMMWORD PTR [rcx+8128], 123 + vmpsadbw zmm30{k7}{z}, zmm29, ZMMWORD PTR [rdx-8192], 123 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.d b/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.d new file mode 100644 index 0000000..1af470e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.d @@ -0,0 +1,113 @@ +#objdump: -dw +#name: x86_64 AVX10.2/256 evex promote insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*c4 c2 57 50 f6\s+vpdpbssd %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 53 50 f6\s+vpdpbssd %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 57 50 31\s+vpdpbssd \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 50 31\s+vpdpbssd \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 57 28 50 f6\s+\{evex\} vpdpbssd %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 57 08 50 f6\s+\{evex\} vpdpbssd %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 50 31\s+\{evex\} vpdpbssd \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 50 31\s+\{evex\} vpdpbssd \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 57 51 f6\s+vpdpbssds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 53 51 f6\s+vpdpbssds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 57 51 31\s+vpdpbssds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 53 51 31\s+vpdpbssds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 57 28 51 f6\s+\{evex\} vpdpbssds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 57 08 51 f6\s+\{evex\} vpdpbssds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 57 28 51 31\s+\{evex\} vpdpbssds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 57 08 51 31\s+\{evex\} vpdpbssds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 56 50 f6\s+vpdpbsud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 52 50 f6\s+vpdpbsud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 50 31\s+vpdpbsud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 50 31\s+vpdpbsud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 56 28 50 f6\s+\{evex\} vpdpbsud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 56 08 50 f6\s+\{evex\} vpdpbsud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 50 31\s+\{evex\} vpdpbsud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 50 31\s+\{evex\} vpdpbsud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 56 51 f6\s+vpdpbsuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 52 51 f6\s+vpdpbsuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 51 31\s+vpdpbsuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 51 31\s+vpdpbsuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 56 28 51 f6\s+\{evex\} vpdpbsuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 56 08 51 f6\s+\{evex\} vpdpbsuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 51 31\s+\{evex\} vpdpbsuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 51 31\s+\{evex\} vpdpbsuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 54 50 f6\s+vpdpbuud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 50 50 f6\s+vpdpbuud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 50 31\s+vpdpbuud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 50 31\s+vpdpbuud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 54 28 50 f6\s+\{evex\} vpdpbuud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 54 08 50 f6\s+\{evex\} vpdpbuud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 50 31\s+\{evex\} vpdpbuud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 50 31\s+\{evex\} vpdpbuud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 54 51 f6\s+vpdpbuuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 50 51 f6\s+vpdpbuuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 51 31\s+vpdpbuuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 51 31\s+vpdpbuuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 54 28 51 f6\s+\{evex\} vpdpbuuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 54 08 51 f6\s+\{evex\} vpdpbuuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 51 31\s+\{evex\} vpdpbuuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 51 31\s+\{evex\} vpdpbuuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 56 d2 f6\s+vpdpwsud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 52 d2 f6\s+vpdpwsud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d2 31\s+vpdpwsud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d2 31\s+vpdpwsud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 56 28 d2 f6\s+\{evex\} vpdpwsud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 56 08 d2 f6\s+\{evex\} vpdpwsud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d2 31\s+\{evex\} vpdpwsud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d2 31\s+\{evex\} vpdpwsud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 56 d3 f6\s+vpdpwsuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 52 d3 f6\s+vpdpwsuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 56 d3 31\s+vpdpwsuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 52 d3 31\s+vpdpwsuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 56 28 d3 f6\s+\{evex\} vpdpwsuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 56 08 d3 f6\s+\{evex\} vpdpwsuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 56 28 d3 31\s+\{evex\} vpdpwsuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 56 08 d3 31\s+\{evex\} vpdpwsuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 55 d2 f6\s+vpdpwusd %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 51 d2 f6\s+vpdpwusd %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d2 31\s+vpdpwusd \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d2 31\s+vpdpwusd \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 55 28 d2 f6\s+\{evex\} vpdpwusd %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 55 08 d2 f6\s+\{evex\} vpdpwusd %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d2 31\s+\{evex\} vpdpwusd \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d2 31\s+\{evex\} vpdpwusd \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 55 d3 f6\s+vpdpwusds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 51 d3 f6\s+vpdpwusds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 55 d3 31\s+vpdpwusds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 51 d3 31\s+vpdpwusds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 55 28 d3 f6\s+\{evex\} vpdpwusds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 55 08 d3 f6\s+\{evex\} vpdpwusds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 55 28 d3 31\s+\{evex\} vpdpwusds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 55 08 d3 31\s+\{evex\} vpdpwusds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 54 d2 f6\s+vpdpwuud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 50 d2 f6\s+vpdpwuud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d2 31\s+vpdpwuud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d2 31\s+vpdpwuud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 54 28 d2 f6\s+\{evex\} vpdpwuud %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 54 08 d2 f6\s+\{evex\} vpdpwuud %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d2 31\s+\{evex\} vpdpwuud \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d2 31\s+\{evex\} vpdpwuud \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c2 54 d3 f6\s+vpdpwuuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 c2 50 d3 f6\s+vpdpwuuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e2 54 d3 31\s+vpdpwuuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e2 50 d3 31\s+vpdpwuuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d2 54 28 d3 f6\s+\{evex\} vpdpwuuds %ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d2 54 08 d3 f6\s+\{evex\} vpdpwuuds %xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f2 54 28 d3 31\s+\{evex\} vpdpwuuds \(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f2 54 08 d3 31\s+\{evex\} vpdpwuuds \(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c3 51 42 f6 7b\s+vmpsadbw \$0x7b,%xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 c3 55 42 f6 7b\s+vmpsadbw \$0x7b,%ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*c4 e3 51 42 31 7b\s+vmpsadbw \$0x7b,\(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*c4 e3 55 42 31 7b\s+vmpsadbw \$0x7b,\(%rcx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 d3 56 08 42 f6 7b\s+\{evex\} vmpsadbw \$0x7b,%xmm14,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 d3 56 28 42 f6 7b\s+\{evex\} vmpsadbw \$0x7b,%ymm14,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 56 08 42 31 7b\s+\{evex\} vmpsadbw \$0x7b,\(%rcx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 56 28 42 31 7b\s+\{evex\} vmpsadbw \$0x7b,\(%rcx\),%ymm5,%ymm6 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.s b/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.s new file mode 100644 index 0000000..dfbfca8 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-evex-promote.s @@ -0,0 +1,42 @@ +# Check AVX10.2/256 evex promoted instructions + + .arch generic64 + .arch .avx10.2/256 + .arch .avx_vnni_int8 + .arch .avx_vnni_int16 + .text +_start: + .irp m, ss, su, uu + .irp s, "", s + vpdpb\m\()d\s %ymm14, %ymm5, %ymm6 + vpdpb\m\()d\s %xmm14, %xmm5, %xmm6 + vpdpb\m\()d\s (%rcx), %ymm5, %ymm6 + vpdpb\m\()d\s (%rcx), %xmm5, %xmm6 + {evex} vpdpb\m\()d\s %ymm14, %ymm5, %ymm6 + {evex} vpdpb\m\()d\s %xmm14, %xmm5, %xmm6 + {evex} vpdpb\m\()d\s (%rcx), %ymm5, %ymm6 + {evex} vpdpb\m\()d\s (%rcx), %xmm5, %xmm6 + .endr + .endr + + .irp m, su, us, uu + .irp s, "", s + vpdpw\m\()d\s %ymm14, %ymm5, %ymm6 + vpdpw\m\()d\s %xmm14, %xmm5, %xmm6 + vpdpw\m\()d\s (%rcx), %ymm5, %ymm6 + vpdpw\m\()d\s (%rcx), %xmm5, %xmm6 + {evex} vpdpw\m\()d\s %ymm14, %ymm5, %ymm6 + {evex} vpdpw\m\()d\s %xmm14, %xmm5, %xmm6 + {evex} vpdpw\m\()d\s (%rcx), %ymm5, %ymm6 + {evex} vpdpw\m\()d\s (%rcx), %xmm5, %xmm6 + .endr + .endr + + vmpsadbw $123, %xmm14, %xmm5, %xmm6 + vmpsadbw $123, %ymm14, %ymm5, %ymm6 + vmpsadbw $123, (%rcx), %xmm5, %xmm6 + vmpsadbw $123, (%rcx), %ymm5, %ymm6 + {evex} vmpsadbw $123, %xmm14, %xmm5, %xmm6 + {evex} vmpsadbw $123, %ymm14, %ymm5, %ymm6 + {evex} vmpsadbw $123, (%rcx), %xmm5, %xmm6 + {evex} vmpsadbw $123, (%rcx), %ymm5, %ymm6 diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp index 3ffeaaf..42a900d 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -500,6 +500,11 @@ run_dump_test "x86-64-user_msr-intel" run_list_test "x86-64-user_msr-inval" run_dump_test "x86-64-avx10_2-rounding" run_dump_test "x86-64-avx10_2-rounding-intel" +run_dump_test "x86-64-avx10_2-evex-promote" +run_dump_test "x86-64-avx10_2-512-1" +run_dump_test "x86-64-avx10_2-512-1-intel" +run_dump_test "x86-64-avx10_2-256-1" +run_dump_test "x86-64-avx10_2-256-1-intel" run_dump_test "x86-64-clzero" run_dump_test "x86-64-mwaitx-bdver4" run_list_test "x86-64-mwaitx-reg" |