diff options
author | Sam James <sam@gentoo.org> | 2023-08-02 12:06:23 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-08-02 12:06:23 +0100 |
commit | b5c37946cce4b41af0436529b139fa3d23e61f73 (patch) | |
tree | 02129ebadb74e7d3f2430cf8221799ce186600e3 /gas/testsuite | |
parent | 675b9d612cc59446e84e2c6d89b45500cb603a8d (diff) | |
download | gdb-b5c37946cce4b41af0436529b139fa3d23e61f73.zip gdb-b5c37946cce4b41af0436529b139fa3d23e61f73.tar.gz gdb-b5c37946cce4b41af0436529b139fa3d23e61f73.tar.bz2 |
Revert "2.41 Release sources"
This reverts commit 675b9d612cc59446e84e2c6d89b45500cb603a8d.
See https://sourceware.org/pipermail/binutils/2023-August/128761.html.
Diffstat (limited to 'gas/testsuite')
84 files changed, 1927 insertions, 696 deletions
diff --git a/gas/testsuite/gas/all/assign-bad-recursive.d b/gas/testsuite/gas/all/assign-bad-recursive.d index 678be3e..aeec5d5 100644 --- a/gas/testsuite/gas/all/assign-bad-recursive.d +++ b/gas/testsuite/gas/all/assign-bad-recursive.d @@ -1,5 +1,4 @@ #name: bad recursive assignments #source: assign-bad-recursive.s #xfail: bfin-*-* -#notarget: *bpf-*-* #error_output: assign-bad-recursive.l diff --git a/gas/testsuite/gas/all/eqv-dot.d b/gas/testsuite/gas/all/eqv-dot.d index d97db14..fc40b09 100644 --- a/gas/testsuite/gas/all/eqv-dot.d +++ b/gas/testsuite/gas/all/eqv-dot.d @@ -2,7 +2,7 @@ #name: eqv involving dot # bfin doesn't support 'symbol = expression' # tic30 and tic4x have 4 octets per byte, tic54x has 2 octets per byte -#notarget: bfin-*-* *c30-*-* *c4x-*-* *c54x-*-* *bpf-*-* +#notarget: bfin-*-* *c30-*-* *c4x-*-* *c54x-*-* # linkrelax targets don't handle equivalence expressions well (nor any # other forward expression). mep uses complex relocs #xfail: am33_2.0-*-* crx-*-* h8300-*-* mn10200-*-* mn10300-*-* mep-*-* diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp index bab5a6c..007408f 100644 --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -105,7 +105,7 @@ if { [istarget "pdp11-*-*"] } then { run_dump_test eqv-dot } -if { ![istarget "bfin-*-*"] && ![istarget "bpf-*-*"] } then { +if { ![istarget "bfin-*-*"] } then { gas_test "assign-ok.s" "" "" "== assignment support" } gas_test_error "assign-bad.s" "" "== assignment for symbol already set" @@ -403,8 +403,7 @@ if { ([istarget "i*86-*-*pe*"] && ![istarget "i*86-*-openbsd*"]) \ gas_test "fastcall.s" "" "" "fastcall labels" } -if { ![istarget "bfin-*-*"] && ![istarget "nds32*-*-*"] \ - && ![istarget "bpf-*-*"] } then { +if { ![istarget "bfin-*-*"] && ![istarget "nds32*-*-*"] } then { run_dump_test assign } run_dump_test sleb128 diff --git a/gas/testsuite/gas/bpf/alu-be-pseudoc.d b/gas/testsuite/gas/bpf/alu-be-pseudoc.d index 0355d19..0e9df07 100644 --- a/gas/testsuite/gas/bpf/alu-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu-be-pseudoc.d @@ -1,5 +1,72 @@ -#as: --EB +#as: -EB -mdialect=pseudoc #source: alu-pseudoc.s -#objdump: -dr -#dump: alu-be.dump +#objdump: -dr -M hex,pseudoc #name: eBPF ALU64 instructions, big endian, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 07 20 00 00 00 00 02 9a r2\+=0x29a + 8: 07 30 00 00 ff ff fd 66 r3\+=0xfffffd66 + 10: 07 40 00 00 7e ad be ef r4\+=0x7eadbeef + 18: 0f 56 00 00 00 00 00 00 r5\+=r6 + 20: 17 20 00 00 00 00 02 9a r2-=0x29a + 28: 17 30 00 00 ff ff fd 66 r3-=0xfffffd66 + 30: 17 40 00 00 7e ad be ef r4-=0x7eadbeef + 38: 1f 56 00 00 00 00 00 00 r5-=r6 + 40: 27 20 00 00 00 00 02 9a r2\*=0x29a + 48: 27 30 00 00 ff ff fd 66 r3\*=0xfffffd66 + 50: 27 40 00 00 7e ad be ef r4\*=0x7eadbeef + 58: 2f 56 00 00 00 00 00 00 r5\*=r6 + 60: 37 20 00 00 00 00 02 9a r2/=0x29a + 68: 37 30 00 00 ff ff fd 66 r3/=0xfffffd66 + 70: 37 40 00 00 7e ad be ef r4/=0x7eadbeef + 78: 3f 56 00 00 00 00 00 00 r5/=r6 + 80: 47 20 00 00 00 00 02 9a r2|=0x29a + 88: 47 30 00 00 ff ff fd 66 r3|=0xfffffd66 + 90: 47 40 00 00 7e ad be ef r4|=0x7eadbeef + 98: 4f 56 00 00 00 00 00 00 r5|=r6 + a0: 57 20 00 00 00 00 02 9a r2&=0x29a + a8: 57 30 00 00 ff ff fd 66 r3&=0xfffffd66 + b0: 57 40 00 00 7e ad be ef r4&=0x7eadbeef + b8: 5f 56 00 00 00 00 00 00 r5&=r6 + c0: 67 20 00 00 00 00 02 9a r2<<=0x29a + c8: 67 30 00 00 ff ff fd 66 r3<<=0xfffffd66 + d0: 67 40 00 00 7e ad be ef r4<<=0x7eadbeef + d8: 6f 56 00 00 00 00 00 00 r5<<=r6 + e0: 77 20 00 00 00 00 02 9a r2>>=0x29a + e8: 77 30 00 00 ff ff fd 66 r3>>=0xfffffd66 + f0: 77 40 00 00 7e ad be ef r4>>=0x7eadbeef + f8: 7f 56 00 00 00 00 00 00 r5>>=r6 + 100: 97 20 00 00 00 00 02 9a r2%=0x29a + 108: 97 30 00 00 ff ff fd 66 r3%=0xfffffd66 + 110: 97 40 00 00 7e ad be ef r4%=0x7eadbeef + 118: 9f 56 00 00 00 00 00 00 r5%=r6 + 120: a7 20 00 00 00 00 02 9a r2\^=0x29a + 128: a7 30 00 00 ff ff fd 66 r3\^=0xfffffd66 + 130: a7 40 00 00 7e ad be ef r4\^=0x7eadbeef + 138: af 56 00 00 00 00 00 00 r5\^=r6 + 140: b7 20 00 00 00 00 02 9a r2=0x29a + 148: b7 30 00 00 ff ff fd 66 r3=0xfffffd66 + 150: b7 40 00 00 7e ad be ef r4=0x7eadbeef + 158: bf 56 00 00 00 00 00 00 r5=r6 + 160: c7 20 00 00 00 00 02 9a r2 s>>=0x29a + 168: c7 30 00 00 ff ff fd 66 r3 s>>=0xfffffd66 + 170: c7 40 00 00 7e ad be ef r4 s>>=0x7eadbeef + 178: cf 56 00 00 00 00 00 00 r5 s>>=r6 + 180: 8f 20 00 00 00 00 00 00 r2=-r2 + 188: d4 90 00 00 00 00 00 10 r9=le16 r9 + 190: d4 80 00 00 00 00 00 20 r8=le32 r8 + 198: d4 70 00 00 00 00 00 40 r7=le64 r7 + 1a0: dc 60 00 00 00 00 00 10 r6=be16 r6 + 1a8: dc 50 00 00 00 00 00 20 r5=be32 r5 + 1b0: dc 40 00 00 00 00 00 40 r4=be64 r4 + 1b8: bf 12 00 08 00 00 00 00 r1 = \(s8\) r2 + 1c0: bf 12 00 10 00 00 00 00 r1 = \(s16\) r2 + 1c8: bf 12 00 20 00 00 00 00 r1 = \(s32\) r2 + 1d0: d7 10 00 00 00 00 00 10 r1 = bswap16 r1 + 1d8: d7 20 00 00 00 00 00 20 r2 = bswap32 r2 + 1e0: d7 30 00 00 00 00 00 40 r3 = bswap64 r3 + 1e8: b7 10 00 00 ff ff f1 00 r1=0xfffff100
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/alu-be.d b/gas/testsuite/gas/bpf/alu-be.d index afd2a6c..b961f3f 100644 --- a/gas/testsuite/gas/bpf/alu-be.d +++ b/gas/testsuite/gas/bpf/alu-be.d @@ -1,5 +1,72 @@ -#as: --EB +#as: -EB -mdialect=normal #source: alu.s -#objdump: -dr -#dump: alu-be.dump -#name: eBPF ALU64 instructions, big endian, normal syntax +#objdump: -dr -M hex +#name: eBPF ALU instructions, big endian, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 07 20 00 00 00 00 02 9a add %r2,0x29a + 8: 07 30 00 00 ff ff fd 66 add %r3,0xfffffd66 + 10: 07 40 00 00 7e ad be ef add %r4,0x7eadbeef + 18: 0f 56 00 00 00 00 00 00 add %r5,%r6 + 20: 17 20 00 00 00 00 02 9a sub %r2,0x29a + 28: 17 30 00 00 ff ff fd 66 sub %r3,0xfffffd66 + 30: 17 40 00 00 7e ad be ef sub %r4,0x7eadbeef + 38: 1f 56 00 00 00 00 00 00 sub %r5,%r6 + 40: 27 20 00 00 00 00 02 9a mul %r2,0x29a + 48: 27 30 00 00 ff ff fd 66 mul %r3,0xfffffd66 + 50: 27 40 00 00 7e ad be ef mul %r4,0x7eadbeef + 58: 2f 56 00 00 00 00 00 00 mul %r5,%r6 + 60: 37 20 00 00 00 00 02 9a div %r2,0x29a + 68: 37 30 00 00 ff ff fd 66 div %r3,0xfffffd66 + 70: 37 40 00 00 7e ad be ef div %r4,0x7eadbeef + 78: 3f 56 00 00 00 00 00 00 div %r5,%r6 + 80: 47 20 00 00 00 00 02 9a or %r2,0x29a + 88: 47 30 00 00 ff ff fd 66 or %r3,0xfffffd66 + 90: 47 40 00 00 7e ad be ef or %r4,0x7eadbeef + 98: 4f 56 00 00 00 00 00 00 or %r5,%r6 + a0: 57 20 00 00 00 00 02 9a and %r2,0x29a + a8: 57 30 00 00 ff ff fd 66 and %r3,0xfffffd66 + b0: 57 40 00 00 7e ad be ef and %r4,0x7eadbeef + b8: 5f 56 00 00 00 00 00 00 and %r5,%r6 + c0: 67 20 00 00 00 00 02 9a lsh %r2,0x29a + c8: 67 30 00 00 ff ff fd 66 lsh %r3,0xfffffd66 + d0: 67 40 00 00 7e ad be ef lsh %r4,0x7eadbeef + d8: 6f 56 00 00 00 00 00 00 lsh %r5,%r6 + e0: 77 20 00 00 00 00 02 9a rsh %r2,0x29a + e8: 77 30 00 00 ff ff fd 66 rsh %r3,0xfffffd66 + f0: 77 40 00 00 7e ad be ef rsh %r4,0x7eadbeef + f8: 7f 56 00 00 00 00 00 00 rsh %r5,%r6 + 100: 97 20 00 00 00 00 02 9a mod %r2,0x29a + 108: 97 30 00 00 ff ff fd 66 mod %r3,0xfffffd66 + 110: 97 40 00 00 7e ad be ef mod %r4,0x7eadbeef + 118: 9f 56 00 00 00 00 00 00 mod %r5,%r6 + 120: a7 20 00 00 00 00 02 9a xor %r2,0x29a + 128: a7 30 00 00 ff ff fd 66 xor %r3,0xfffffd66 + 130: a7 40 00 00 7e ad be ef xor %r4,0x7eadbeef + 138: af 56 00 00 00 00 00 00 xor %r5,%r6 + 140: b7 20 00 00 00 00 02 9a mov %r2,0x29a + 148: b7 30 00 00 ff ff fd 66 mov %r3,0xfffffd66 + 150: b7 40 00 00 7e ad be ef mov %r4,0x7eadbeef + 158: bf 56 00 00 00 00 00 00 mov %r5,%r6 + 160: c7 20 00 00 00 00 02 9a arsh %r2,0x29a + 168: c7 30 00 00 ff ff fd 66 arsh %r3,0xfffffd66 + 170: c7 40 00 00 7e ad be ef arsh %r4,0x7eadbeef + 178: cf 56 00 00 00 00 00 00 arsh %r5,%r6 + 180: 8f 20 00 00 00 00 00 00 neg %r2 + 188: d4 90 00 00 00 00 00 10 endle %r9,16 + 190: d4 80 00 00 00 00 00 20 endle %r8,32 + 198: d4 70 00 00 00 00 00 40 endle %r7,64 + 1a0: dc 60 00 00 00 00 00 10 endbe %r6,16 + 1a8: dc 50 00 00 00 00 00 20 endbe %r5,32 + 1b0: dc 40 00 00 00 00 00 40 endbe %r4,64 + 1b8: bf 12 00 08 00 00 00 00 movs %r1,%r2,8 + 1c0: bf 12 00 10 00 00 00 00 movs %r1,%r2,16 + 1c8: bf 12 00 20 00 00 00 00 movs %r1,%r2,32 + 1d0: d7 10 00 00 00 00 00 10 bswap %r1,16 + 1d8: d7 20 00 00 00 00 00 20 bswap %r2,32 + 1e0: d7 30 00 00 00 00 00 40 bswap %r3,64 + 1e8: 87 10 00 00 00 00 0f 00 neg %r1,0xf00
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/alu-pseudoc.d b/gas/testsuite/gas/bpf/alu-pseudoc.d index df13069..bbd222c 100644 --- a/gas/testsuite/gas/bpf/alu-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu-pseudoc.d @@ -1,5 +1,72 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: alu-pseudoc.s -#dump: alu.dump -#name: eBPF ALU64 instructions, pseudo-c syntax +#name: eBPF ALU instructions, pseudo-c syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 07 02 00 00 9a 02 00 00 r2\+=0x29a + 8: 07 03 00 00 66 fd ff ff r3\+=0xfffffd66 + 10: 07 04 00 00 ef be ad 7e r4\+=0x7eadbeef + 18: 0f 65 00 00 00 00 00 00 r5\+=r6 + 20: 17 02 00 00 9a 02 00 00 r2-=0x29a + 28: 17 03 00 00 66 fd ff ff r3-=0xfffffd66 + 30: 17 04 00 00 ef be ad 7e r4-=0x7eadbeef + 38: 1f 65 00 00 00 00 00 00 r5-=r6 + 40: 27 02 00 00 9a 02 00 00 r2\*=0x29a + 48: 27 03 00 00 66 fd ff ff r3\*=0xfffffd66 + 50: 27 04 00 00 ef be ad 7e r4\*=0x7eadbeef + 58: 2f 65 00 00 00 00 00 00 r5\*=r6 + 60: 37 02 00 00 9a 02 00 00 r2/=0x29a + 68: 37 03 00 00 66 fd ff ff r3/=0xfffffd66 + 70: 37 04 00 00 ef be ad 7e r4/=0x7eadbeef + 78: 3f 65 00 00 00 00 00 00 r5/=r6 + 80: 47 02 00 00 9a 02 00 00 r2|=0x29a + 88: 47 03 00 00 66 fd ff ff r3|=0xfffffd66 + 90: 47 04 00 00 ef be ad 7e r4|=0x7eadbeef + 98: 4f 65 00 00 00 00 00 00 r5|=r6 + a0: 57 02 00 00 9a 02 00 00 r2&=0x29a + a8: 57 03 00 00 66 fd ff ff r3&=0xfffffd66 + b0: 57 04 00 00 ef be ad 7e r4&=0x7eadbeef + b8: 5f 65 00 00 00 00 00 00 r5&=r6 + c0: 67 02 00 00 9a 02 00 00 r2<<=0x29a + c8: 67 03 00 00 66 fd ff ff r3<<=0xfffffd66 + d0: 67 04 00 00 ef be ad 7e r4<<=0x7eadbeef + d8: 6f 65 00 00 00 00 00 00 r5<<=r6 + e0: 77 02 00 00 9a 02 00 00 r2>>=0x29a + e8: 77 03 00 00 66 fd ff ff r3>>=0xfffffd66 + f0: 77 04 00 00 ef be ad 7e r4>>=0x7eadbeef + f8: 7f 65 00 00 00 00 00 00 r5>>=r6 + 100: 97 02 00 00 9a 02 00 00 r2%=0x29a + 108: 97 03 00 00 66 fd ff ff r3%=0xfffffd66 + 110: 97 04 00 00 ef be ad 7e r4%=0x7eadbeef + 118: 9f 65 00 00 00 00 00 00 r5%=r6 + 120: a7 02 00 00 9a 02 00 00 r2\^=0x29a + 128: a7 03 00 00 66 fd ff ff r3\^=0xfffffd66 + 130: a7 04 00 00 ef be ad 7e r4\^=0x7eadbeef + 138: af 65 00 00 00 00 00 00 r5\^=r6 + 140: b7 02 00 00 9a 02 00 00 r2=0x29a + 148: b7 03 00 00 66 fd ff ff r3=0xfffffd66 + 150: b7 04 00 00 ef be ad 7e r4=0x7eadbeef + 158: bf 65 00 00 00 00 00 00 r5=r6 + 160: c7 02 00 00 9a 02 00 00 r2 s>>=0x29a + 168: c7 03 00 00 66 fd ff ff r3 s>>=0xfffffd66 + 170: c7 04 00 00 ef be ad 7e r4 s>>=0x7eadbeef + 178: cf 65 00 00 00 00 00 00 r5 s>>=r6 + 180: 8f 02 00 00 00 00 00 00 r2=-r2 + 188: d4 09 00 00 10 00 00 00 r9=le16 r9 + 190: d4 08 00 00 20 00 00 00 r8=le32 r8 + 198: d4 07 00 00 40 00 00 00 r7=le64 r7 + 1a0: dc 06 00 00 10 00 00 00 r6=be16 r6 + 1a8: dc 05 00 00 20 00 00 00 r5=be32 r5 + 1b0: dc 04 00 00 40 00 00 00 r4=be64 r4 + 1b8: bf 21 08 00 00 00 00 00 r1 = \(s8\) r2 + 1c0: bf 21 10 00 00 00 00 00 r1 = \(s16\) r2 + 1c8: bf 21 20 00 00 00 00 00 r1 = \(s32\) r2 + 1d0: d7 01 00 00 10 00 00 00 r1 = bswap16 r1 + 1d8: d7 02 00 00 20 00 00 00 r2 = bswap32 r2 + 1e0: d7 03 00 00 40 00 00 00 r3 = bswap64 r3 + 1e8: b7 01 00 00 00 f1 ff ff r1=0xfffff100 diff --git a/gas/testsuite/gas/bpf/alu-pseudoc.s b/gas/testsuite/gas/bpf/alu-pseudoc.s index 0f79929..abd8ddc 100644 --- a/gas/testsuite/gas/bpf/alu-pseudoc.s +++ b/gas/testsuite/gas/bpf/alu-pseudoc.s @@ -48,4 +48,20 @@ r3 s>>= -666 r4 s>>= 2125315823 r5 s>>= r6 - r2 = -r2 + r2 = - r2 + r9 = le16 r9 + r8 = le32 r8 + r7 = le64 r7 + r6 = be16 r6 + r5 = be32 r5 + r4 = be64 r4 + r1 = (s8) r2 + r1 = (s16) r2 + r1 = (s32) r2 + r1 = bswap16 r1 + r2 = bswap32 r2 + r3 = bswap64 r3 + ;; Note that the next instruction gets processed by the GAS + ;; preprocessor into r1 =-0xf00, which parses into a %dr = %i32 + ;; instruction instead of a neg :/ + r1 = - 0xf00 diff --git a/gas/testsuite/gas/bpf/alu.d b/gas/testsuite/gas/bpf/alu.d index 764ae44..e4afdab 100644 --- a/gas/testsuite/gas/bpf/alu.d +++ b/gas/testsuite/gas/bpf/alu.d @@ -1,5 +1,72 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #source: alu.s -#dump: alu.dump -#name: eBPF ALU64 instructions, normal syntax +#name: eBPF ALU instructions, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 07 02 00 00 9a 02 00 00 add %r2,0x29a + 8: 07 03 00 00 66 fd ff ff add %r3,0xfffffd66 + 10: 07 04 00 00 ef be ad 7e add %r4,0x7eadbeef + 18: 0f 65 00 00 00 00 00 00 add %r5,%r6 + 20: 17 02 00 00 9a 02 00 00 sub %r2,0x29a + 28: 17 03 00 00 66 fd ff ff sub %r3,0xfffffd66 + 30: 17 04 00 00 ef be ad 7e sub %r4,0x7eadbeef + 38: 1f 65 00 00 00 00 00 00 sub %r5,%r6 + 40: 27 02 00 00 9a 02 00 00 mul %r2,0x29a + 48: 27 03 00 00 66 fd ff ff mul %r3,0xfffffd66 + 50: 27 04 00 00 ef be ad 7e mul %r4,0x7eadbeef + 58: 2f 65 00 00 00 00 00 00 mul %r5,%r6 + 60: 37 02 00 00 9a 02 00 00 div %r2,0x29a + 68: 37 03 00 00 66 fd ff ff div %r3,0xfffffd66 + 70: 37 04 00 00 ef be ad 7e div %r4,0x7eadbeef + 78: 3f 65 00 00 00 00 00 00 div %r5,%r6 + 80: 47 02 00 00 9a 02 00 00 or %r2,0x29a + 88: 47 03 00 00 66 fd ff ff or %r3,0xfffffd66 + 90: 47 04 00 00 ef be ad 7e or %r4,0x7eadbeef + 98: 4f 65 00 00 00 00 00 00 or %r5,%r6 + a0: 57 02 00 00 9a 02 00 00 and %r2,0x29a + a8: 57 03 00 00 66 fd ff ff and %r3,0xfffffd66 + b0: 57 04 00 00 ef be ad 7e and %r4,0x7eadbeef + b8: 5f 65 00 00 00 00 00 00 and %r5,%r6 + c0: 67 02 00 00 9a 02 00 00 lsh %r2,0x29a + c8: 67 03 00 00 66 fd ff ff lsh %r3,0xfffffd66 + d0: 67 04 00 00 ef be ad 7e lsh %r4,0x7eadbeef + d8: 6f 65 00 00 00 00 00 00 lsh %r5,%r6 + e0: 77 02 00 00 9a 02 00 00 rsh %r2,0x29a + e8: 77 03 00 00 66 fd ff ff rsh %r3,0xfffffd66 + f0: 77 04 00 00 ef be ad 7e rsh %r4,0x7eadbeef + f8: 7f 65 00 00 00 00 00 00 rsh %r5,%r6 + 100: 97 02 00 00 9a 02 00 00 mod %r2,0x29a + 108: 97 03 00 00 66 fd ff ff mod %r3,0xfffffd66 + 110: 97 04 00 00 ef be ad 7e mod %r4,0x7eadbeef + 118: 9f 65 00 00 00 00 00 00 mod %r5,%r6 + 120: a7 02 00 00 9a 02 00 00 xor %r2,0x29a + 128: a7 03 00 00 66 fd ff ff xor %r3,0xfffffd66 + 130: a7 04 00 00 ef be ad 7e xor %r4,0x7eadbeef + 138: af 65 00 00 00 00 00 00 xor %r5,%r6 + 140: b7 02 00 00 9a 02 00 00 mov %r2,0x29a + 148: b7 03 00 00 66 fd ff ff mov %r3,0xfffffd66 + 150: b7 04 00 00 ef be ad 7e mov %r4,0x7eadbeef + 158: bf 65 00 00 00 00 00 00 mov %r5,%r6 + 160: c7 02 00 00 9a 02 00 00 arsh %r2,0x29a + 168: c7 03 00 00 66 fd ff ff arsh %r3,0xfffffd66 + 170: c7 04 00 00 ef be ad 7e arsh %r4,0x7eadbeef + 178: cf 65 00 00 00 00 00 00 arsh %r5,%r6 + 180: 8f 02 00 00 00 00 00 00 neg %r2 + 188: d4 09 00 00 10 00 00 00 endle %r9,16 + 190: d4 08 00 00 20 00 00 00 endle %r8,32 + 198: d4 07 00 00 40 00 00 00 endle %r7,64 + 1a0: dc 06 00 00 10 00 00 00 endbe %r6,16 + 1a8: dc 05 00 00 20 00 00 00 endbe %r5,32 + 1b0: dc 04 00 00 40 00 00 00 endbe %r4,64 + 1b8: bf 21 08 00 00 00 00 00 movs %r1,%r2,8 + 1c0: bf 21 10 00 00 00 00 00 movs %r1,%r2,16 + 1c8: bf 21 20 00 00 00 00 00 movs %r1,%r2,32 + 1d0: d7 01 00 00 10 00 00 00 bswap %r1,16 + 1d8: d7 02 00 00 20 00 00 00 bswap %r2,32 + 1e0: d7 03 00 00 40 00 00 00 bswap %r3,64 + 1e8: 87 01 00 00 00 0f 00 00 neg %r1,0xf00
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/alu.s b/gas/testsuite/gas/bpf/alu.s index 18e60d5..d0bf560 100644 --- a/gas/testsuite/gas/bpf/alu.s +++ b/gas/testsuite/gas/bpf/alu.s @@ -49,3 +49,16 @@ arsh %r4, 0x7eadbeef arsh %r5, %r6 neg %r2 + endle %r9,16 + endle %r8,32 + endle %r7,64 + endbe %r6,16 + endbe %r5,32 + endbe %r4,64 + movs %r1,%r2,8 + movs %r1,%r2,16 + movs %r1,%r2,32 + bswap %r1, 16 + bswap %r2, 32 + bswap %r3, 64 + neg %r1, 0xf00 diff --git a/gas/testsuite/gas/bpf/alu32-be-pseudoc.d b/gas/testsuite/gas/bpf/alu32-be-pseudoc.d index 396d7d4..7f5e700 100644 --- a/gas/testsuite/gas/bpf/alu32-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu32-be-pseudoc.d @@ -1,5 +1,63 @@ -#as: --EB -#objdump: -dr +#as: -EB -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: alu32-pseudoc.s -#dump: alu32-be.dump -#name: eBPF ALU instructions, big-endian, pseudo-c syntax +#name: eBPF ALU32 instructions, big-endian, pseudo-c syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 04 20 00 00 00 00 02 9a w2\+=0x29a + 8: 04 30 00 00 ff ff fd 66 w3\+=0xfffffd66 + 10: 04 40 00 00 7e ad be ef w4\+=0x7eadbeef + 18: 0c 56 00 00 00 00 00 00 w5\+=w6 + 20: 14 20 00 00 00 00 02 9a w2-=0x29a + 28: 14 30 00 00 ff ff fd 66 w3-=0xfffffd66 + 30: 14 40 00 00 7e ad be ef w4-=0x7eadbeef + 38: 1c 56 00 00 00 00 00 00 w5-=w6 + 40: 24 20 00 00 00 00 02 9a w2\*=0x29a + 48: 24 30 00 00 ff ff fd 66 w3\*=0xfffffd66 + 50: 24 40 00 00 7e ad be ef w4\*=0x7eadbeef + 58: 2c 56 00 00 00 00 00 00 w5\*=w6 + 60: 34 20 00 00 00 00 02 9a w2/=0x29a + 68: 34 30 00 00 ff ff fd 66 w3/=0xfffffd66 + 70: 34 40 00 00 7e ad be ef w4/=0x7eadbeef + 78: 3c 56 00 00 00 00 00 00 w5/=w6 + 80: 44 20 00 00 00 00 02 9a w2|=0x29a + 88: 44 30 00 00 ff ff fd 66 w3|=0xfffffd66 + 90: 44 40 00 00 7e ad be ef w4|=0x7eadbeef + 98: 4c 56 00 00 00 00 00 00 w5|=w6 + a0: 54 20 00 00 00 00 02 9a w2&=0x29a + a8: 54 30 00 00 ff ff fd 66 w3&=0xfffffd66 + b0: 54 40 00 00 7e ad be ef w4&=0x7eadbeef + b8: 5c 56 00 00 00 00 00 00 w5&=w6 + c0: 64 20 00 00 00 00 02 9a w2<<=0x29a + c8: 64 30 00 00 ff ff fd 66 w3<<=0xfffffd66 + d0: 64 40 00 00 7e ad be ef w4<<=0x7eadbeef + d8: 6c 56 00 00 00 00 00 00 w5<<=w6 + e0: 74 20 00 00 00 00 02 9a w2>>=0x29a + e8: 74 30 00 00 ff ff fd 66 w3>>=0xfffffd66 + f0: 74 40 00 00 7e ad be ef w4>>=0x7eadbeef + f8: 7c 56 00 00 00 00 00 00 w5>>=w6 + 100: 94 20 00 00 00 00 02 9a w2%=0x29a + 108: 94 30 00 00 ff ff fd 66 w3%=0xfffffd66 + 110: 94 40 00 00 7e ad be ef w4%=0x7eadbeef + 118: 9c 56 00 00 00 00 00 00 w5%=w6 + 120: a4 20 00 00 00 00 02 9a w2\^=0x29a + 128: a4 30 00 00 ff ff fd 66 w3\^=0xfffffd66 + 130: a4 40 00 00 7e ad be ef w4\^=0x7eadbeef + 138: ac 56 00 00 00 00 00 00 w5\^=w6 + 140: b4 20 00 00 00 00 02 9a w2=0x29a + 148: b4 30 00 00 ff ff fd 66 w3=0xfffffd66 + 150: b4 40 00 00 7e ad be ef w4=0x7eadbeef + 158: bc 56 00 00 00 00 00 00 w5=w6 + 160: c4 20 00 00 00 00 02 9a w2 s>>=0x29a + 168: c4 30 00 00 ff ff fd 66 w3 s>>=0xfffffd66 + 170: c4 40 00 00 7e ad be ef w4 s>>=0x7eadbeef + 178: cc 56 00 00 00 00 00 00 w5 s>>=w6 + 180: 8c 20 00 00 00 00 00 00 w2=-w2 + 188: bc 12 00 08 00 00 00 00 w1 = \(s8\) w2 + 190: bc 12 00 10 00 00 00 00 w1 = \(s16\) w2 + 198: bc 12 00 20 00 00 00 00 w1 = \(s32\) w2 + 1a0: b4 10 00 00 ff ff f1 00 w1=0xfffff100
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/alu32-be.d b/gas/testsuite/gas/bpf/alu32-be.d index 6ed9e55..9799664 100644 --- a/gas/testsuite/gas/bpf/alu32-be.d +++ b/gas/testsuite/gas/bpf/alu32-be.d @@ -1,5 +1,63 @@ -#as: --EB -#objdump: -dr -#source: alu32-pseudoc.s -#dump: alu32-be.dump -#name: eBPF ALU instructions, big-endian, normal syntax +#as: -EB -mdialect=normal +#objdump: -dr -M hex +#source: alu32.s +#name: eBPF ALU32 instructions, big-endian, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 04 20 00 00 00 00 02 9a add32 %r2,0x29a + 8: 04 30 00 00 ff ff fd 66 add32 %r3,0xfffffd66 + 10: 04 40 00 00 7e ad be ef add32 %r4,0x7eadbeef + 18: 0c 56 00 00 00 00 00 00 add32 %r5,%r6 + 20: 14 20 00 00 00 00 02 9a sub32 %r2,0x29a + 28: 14 30 00 00 ff ff fd 66 sub32 %r3,0xfffffd66 + 30: 14 40 00 00 7e ad be ef sub32 %r4,0x7eadbeef + 38: 1c 56 00 00 00 00 00 00 sub32 %r5,%r6 + 40: 24 20 00 00 00 00 02 9a mul32 %r2,0x29a + 48: 24 30 00 00 ff ff fd 66 mul32 %r3,0xfffffd66 + 50: 24 40 00 00 7e ad be ef mul32 %r4,0x7eadbeef + 58: 2c 56 00 00 00 00 00 00 mul32 %r5,%r6 + 60: 34 20 00 00 00 00 02 9a div32 %r2,0x29a + 68: 34 30 00 00 ff ff fd 66 div32 %r3,0xfffffd66 + 70: 34 40 00 00 7e ad be ef div32 %r4,0x7eadbeef + 78: 3c 56 00 00 00 00 00 00 div32 %r5,%r6 + 80: 44 20 00 00 00 00 02 9a or32 %r2,0x29a + 88: 44 30 00 00 ff ff fd 66 or32 %r3,0xfffffd66 + 90: 44 40 00 00 7e ad be ef or32 %r4,0x7eadbeef + 98: 4c 56 00 00 00 00 00 00 or32 %r5,%r6 + a0: 54 20 00 00 00 00 02 9a and32 %r2,0x29a + a8: 54 30 00 00 ff ff fd 66 and32 %r3,0xfffffd66 + b0: 54 40 00 00 7e ad be ef and32 %r4,0x7eadbeef + b8: 5c 56 00 00 00 00 00 00 and32 %r5,%r6 + c0: 64 20 00 00 00 00 02 9a lsh32 %r2,0x29a + c8: 64 30 00 00 ff ff fd 66 lsh32 %r3,0xfffffd66 + d0: 64 40 00 00 7e ad be ef lsh32 %r4,0x7eadbeef + d8: 6c 56 00 00 00 00 00 00 lsh32 %r5,%r6 + e0: 74 20 00 00 00 00 02 9a rsh32 %r2,0x29a + e8: 74 30 00 00 ff ff fd 66 rsh32 %r3,0xfffffd66 + f0: 74 40 00 00 7e ad be ef rsh32 %r4,0x7eadbeef + f8: 7c 56 00 00 00 00 00 00 rsh32 %r5,%r6 + 100: 94 20 00 00 00 00 02 9a mod32 %r2,0x29a + 108: 94 30 00 00 ff ff fd 66 mod32 %r3,0xfffffd66 + 110: 94 40 00 00 7e ad be ef mod32 %r4,0x7eadbeef + 118: 9c 56 00 00 00 00 00 00 mod32 %r5,%r6 + 120: a4 20 00 00 00 00 02 9a xor32 %r2,0x29a + 128: a4 30 00 00 ff ff fd 66 xor32 %r3,0xfffffd66 + 130: a4 40 00 00 7e ad be ef xor32 %r4,0x7eadbeef + 138: ac 56 00 00 00 00 00 00 xor32 %r5,%r6 + 140: b4 20 00 00 00 00 02 9a mov32 %r2,0x29a + 148: b4 30 00 00 ff ff fd 66 mov32 %r3,0xfffffd66 + 150: b4 40 00 00 7e ad be ef mov32 %r4,0x7eadbeef + 158: bc 56 00 00 00 00 00 00 mov32 %r5,%r6 + 160: c4 20 00 00 00 00 02 9a arsh32 %r2,0x29a + 168: c4 30 00 00 ff ff fd 66 arsh32 %r3,0xfffffd66 + 170: c4 40 00 00 7e ad be ef arsh32 %r4,0x7eadbeef + 178: cc 56 00 00 00 00 00 00 arsh32 %r5,%r6 + 180: 8c 20 00 00 00 00 00 00 neg32 %r2 + 188: bc 12 00 08 00 00 00 00 movs32 %r1,%r2,8 + 190: bc 12 00 10 00 00 00 00 movs32 %r1,%r2,16 + 198: bc 12 00 20 00 00 00 00 movs32 %r1,%r2,32 + 1a0: 84 10 00 00 00 00 0f 00 neg32 %r1,0xf00 diff --git a/gas/testsuite/gas/bpf/alu32-pseudoc.d b/gas/testsuite/gas/bpf/alu32-pseudoc.d index 98b9921..cc4e010 100644 --- a/gas/testsuite/gas/bpf/alu32-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu32-pseudoc.d @@ -1,5 +1,63 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: alu32-pseudoc.s -#dump: alu32.dump -#name: eBPF ALU instructions, pseudo-c syntax +#name: eBPF ALU32 instructions, pseudo-c syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 04 02 00 00 9a 02 00 00 w2\+=0x29a + 8: 04 03 00 00 66 fd ff ff w3\+=0xfffffd66 + 10: 04 04 00 00 ef be ad 7e w4\+=0x7eadbeef + 18: 0c 65 00 00 00 00 00 00 w5\+=w6 + 20: 14 02 00 00 9a 02 00 00 w2-=0x29a + 28: 14 03 00 00 66 fd ff ff w3-=0xfffffd66 + 30: 14 04 00 00 ef be ad 7e w4-=0x7eadbeef + 38: 1c 65 00 00 00 00 00 00 w5-=w6 + 40: 24 02 00 00 9a 02 00 00 w2\*=0x29a + 48: 24 03 00 00 66 fd ff ff w3\*=0xfffffd66 + 50: 24 04 00 00 ef be ad 7e w4\*=0x7eadbeef + 58: 2c 65 00 00 00 00 00 00 w5\*=w6 + 60: 34 02 00 00 9a 02 00 00 w2/=0x29a + 68: 34 03 00 00 66 fd ff ff w3/=0xfffffd66 + 70: 34 04 00 00 ef be ad 7e w4/=0x7eadbeef + 78: 3c 65 00 00 00 00 00 00 w5/=w6 + 80: 44 02 00 00 9a 02 00 00 w2|=0x29a + 88: 44 03 00 00 66 fd ff ff w3|=0xfffffd66 + 90: 44 04 00 00 ef be ad 7e w4|=0x7eadbeef + 98: 4c 65 00 00 00 00 00 00 w5|=w6 + a0: 54 02 00 00 9a 02 00 00 w2&=0x29a + a8: 54 03 00 00 66 fd ff ff w3&=0xfffffd66 + b0: 54 04 00 00 ef be ad 7e w4&=0x7eadbeef + b8: 5c 65 00 00 00 00 00 00 w5&=w6 + c0: 64 02 00 00 9a 02 00 00 w2<<=0x29a + c8: 64 03 00 00 66 fd ff ff w3<<=0xfffffd66 + d0: 64 04 00 00 ef be ad 7e w4<<=0x7eadbeef + d8: 6c 65 00 00 00 00 00 00 w5<<=w6 + e0: 74 02 00 00 9a 02 00 00 w2>>=0x29a + e8: 74 03 00 00 66 fd ff ff w3>>=0xfffffd66 + f0: 74 04 00 00 ef be ad 7e w4>>=0x7eadbeef + f8: 7c 65 00 00 00 00 00 00 w5>>=w6 + 100: 94 02 00 00 9a 02 00 00 w2%=0x29a + 108: 94 03 00 00 66 fd ff ff w3%=0xfffffd66 + 110: 94 04 00 00 ef be ad 7e w4%=0x7eadbeef + 118: 9c 65 00 00 00 00 00 00 w5%=w6 + 120: a4 02 00 00 9a 02 00 00 w2\^=0x29a + 128: a4 03 00 00 66 fd ff ff w3\^=0xfffffd66 + 130: a4 04 00 00 ef be ad 7e w4\^=0x7eadbeef + 138: ac 65 00 00 00 00 00 00 w5\^=w6 + 140: b4 02 00 00 9a 02 00 00 w2=0x29a + 148: b4 03 00 00 66 fd ff ff w3=0xfffffd66 + 150: b4 04 00 00 ef be ad 7e w4=0x7eadbeef + 158: bc 65 00 00 00 00 00 00 w5=w6 + 160: c4 02 00 00 9a 02 00 00 w2 s>>=0x29a + 168: c4 03 00 00 66 fd ff ff w3 s>>=0xfffffd66 + 170: c4 04 00 00 ef be ad 7e w4 s>>=0x7eadbeef + 178: cc 65 00 00 00 00 00 00 w5 s>>=w6 + 180: 8c 02 00 00 00 00 00 00 w2=-w2 + 188: bc 21 08 00 00 00 00 00 w1 = \(s8\) w2 + 190: bc 21 10 00 00 00 00 00 w1 = \(s16\) w2 + 198: bc 21 20 00 00 00 00 00 w1 = \(s32\) w2 + 1a0: b4 01 00 00 00 f1 ff ff w1=0xfffff100 diff --git a/gas/testsuite/gas/bpf/alu32-pseudoc.s b/gas/testsuite/gas/bpf/alu32-pseudoc.s index a29f6ea..98d586a 100644 --- a/gas/testsuite/gas/bpf/alu32-pseudoc.s +++ b/gas/testsuite/gas/bpf/alu32-pseudoc.s @@ -1,16 +1,16 @@ # Tests for the ALU eBPF pseudo-C instructions .text - W2 += 666 - W3 += -666 - W4 += 2125315823 - W5 += w6 - W2 -= 666 - W3 -= -666 - W4 -= 2125315823 - W5 -= w6 - W2 *= 666 - W3 *= -666 - W4 *= 2125315823 + w2 += 666 + w3 += -666 + w4 += 2125315823 + w5 += w6 + w2 -= 666 + w3 -= -666 + w4 -= 2125315823 + w5 -= w6 + w2 *= 666 + w3 *= -666 + w4 *= 2125315823 w5 *= w6 w2 /= 666 w3 /= -666 @@ -48,10 +48,11 @@ w3 s>>= -666 w4 s>>= 2125315823 w5 s>>= w6 - w2 = -w2 - r9 = le16 r9 - r8 = le32 r8 - r7 = le64 r7 - r6 = be16 r6 - r5 = be32 r5 - r4 = be64 r4 + w2 = - w2 + w1 = (s8) w2 + w1 = (s16) w2 + w1 = (s32) w2 + ;; Note that the next instruction gets processed by the GAS + ;; preprocessor into w1 =-0xf00, which parses into a %dw = %i32 + ;; instruction instead of a neg :/ + w1 = - 0xf00 diff --git a/gas/testsuite/gas/bpf/alu32.d b/gas/testsuite/gas/bpf/alu32.d index 87efc20..2548438 100644 --- a/gas/testsuite/gas/bpf/alu32.d +++ b/gas/testsuite/gas/bpf/alu32.d @@ -1,5 +1,63 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #source: alu32.s -#dump: alu32.dump -#name: eBPF ALU instructions, normal syntax +#name: eBPF ALU32 instructions, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 04 02 00 00 9a 02 00 00 add32 %r2,0x29a + 8: 04 03 00 00 66 fd ff ff add32 %r3,0xfffffd66 + 10: 04 04 00 00 ef be ad 7e add32 %r4,0x7eadbeef + 18: 0c 65 00 00 00 00 00 00 add32 %r5,%r6 + 20: 14 02 00 00 9a 02 00 00 sub32 %r2,0x29a + 28: 14 03 00 00 66 fd ff ff sub32 %r3,0xfffffd66 + 30: 14 04 00 00 ef be ad 7e sub32 %r4,0x7eadbeef + 38: 1c 65 00 00 00 00 00 00 sub32 %r5,%r6 + 40: 24 02 00 00 9a 02 00 00 mul32 %r2,0x29a + 48: 24 03 00 00 66 fd ff ff mul32 %r3,0xfffffd66 + 50: 24 04 00 00 ef be ad 7e mul32 %r4,0x7eadbeef + 58: 2c 65 00 00 00 00 00 00 mul32 %r5,%r6 + 60: 34 02 00 00 9a 02 00 00 div32 %r2,0x29a + 68: 34 03 00 00 66 fd ff ff div32 %r3,0xfffffd66 + 70: 34 04 00 00 ef be ad 7e div32 %r4,0x7eadbeef + 78: 3c 65 00 00 00 00 00 00 div32 %r5,%r6 + 80: 44 02 00 00 9a 02 00 00 or32 %r2,0x29a + 88: 44 03 00 00 66 fd ff ff or32 %r3,0xfffffd66 + 90: 44 04 00 00 ef be ad 7e or32 %r4,0x7eadbeef + 98: 4c 65 00 00 00 00 00 00 or32 %r5,%r6 + a0: 54 02 00 00 9a 02 00 00 and32 %r2,0x29a + a8: 54 03 00 00 66 fd ff ff and32 %r3,0xfffffd66 + b0: 54 04 00 00 ef be ad 7e and32 %r4,0x7eadbeef + b8: 5c 65 00 00 00 00 00 00 and32 %r5,%r6 + c0: 64 02 00 00 9a 02 00 00 lsh32 %r2,0x29a + c8: 64 03 00 00 66 fd ff ff lsh32 %r3,0xfffffd66 + d0: 64 04 00 00 ef be ad 7e lsh32 %r4,0x7eadbeef + d8: 6c 65 00 00 00 00 00 00 lsh32 %r5,%r6 + e0: 74 02 00 00 9a 02 00 00 rsh32 %r2,0x29a + e8: 74 03 00 00 66 fd ff ff rsh32 %r3,0xfffffd66 + f0: 74 04 00 00 ef be ad 7e rsh32 %r4,0x7eadbeef + f8: 7c 65 00 00 00 00 00 00 rsh32 %r5,%r6 + 100: 94 02 00 00 9a 02 00 00 mod32 %r2,0x29a + 108: 94 03 00 00 66 fd ff ff mod32 %r3,0xfffffd66 + 110: 94 04 00 00 ef be ad 7e mod32 %r4,0x7eadbeef + 118: 9c 65 00 00 00 00 00 00 mod32 %r5,%r6 + 120: a4 02 00 00 9a 02 00 00 xor32 %r2,0x29a + 128: a4 03 00 00 66 fd ff ff xor32 %r3,0xfffffd66 + 130: a4 04 00 00 ef be ad 7e xor32 %r4,0x7eadbeef + 138: ac 65 00 00 00 00 00 00 xor32 %r5,%r6 + 140: b4 02 00 00 9a 02 00 00 mov32 %r2,0x29a + 148: b4 03 00 00 66 fd ff ff mov32 %r3,0xfffffd66 + 150: b4 04 00 00 ef be ad 7e mov32 %r4,0x7eadbeef + 158: bc 65 00 00 00 00 00 00 mov32 %r5,%r6 + 160: c4 02 00 00 9a 02 00 00 arsh32 %r2,0x29a + 168: c4 03 00 00 66 fd ff ff arsh32 %r3,0xfffffd66 + 170: c4 04 00 00 ef be ad 7e arsh32 %r4,0x7eadbeef + 178: cc 65 00 00 00 00 00 00 arsh32 %r5,%r6 + 180: 8c 02 00 00 00 00 00 00 neg32 %r2 + 188: bc 21 08 00 00 00 00 00 movs32 %r1,%r2,8 + 190: bc 21 10 00 00 00 00 00 movs32 %r1,%r2,16 + 198: bc 21 20 00 00 00 00 00 movs32 %r1,%r2,32 + 1a0: 84 01 00 00 00 0f 00 00 neg32 %r1,0xf00
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/alu32.s b/gas/testsuite/gas/bpf/alu32.s index 7b6f014..fd1d528 100644 --- a/gas/testsuite/gas/bpf/alu32.s +++ b/gas/testsuite/gas/bpf/alu32.s @@ -49,9 +49,7 @@ arsh32 %r4, 0x7eadbeef arsh32 %r5, %r6 neg32 %r2 - endle %r9,16 - endle %r8,32 - endle %r7,64 - endbe %r6,16 - endbe %r5,32 - endbe %r4,64 + movs32 %r1,%r2,8 + movs32 %r1,%r2,16 + movs32 %r1,%r2,32 + neg32 %r1, 0xf00 diff --git a/gas/testsuite/gas/bpf/atomic-be.d b/gas/testsuite/gas/bpf/atomic-be.d index b252571..7a04753 100644 --- a/gas/testsuite/gas/bpf/atomic-be.d +++ b/gas/testsuite/gas/bpf/atomic-be.d @@ -1,7 +1,6 @@ -#as: --EB +#as: -EB -mdialect=normal #source: atomic.s -#source: atomic-pseudoc.s -#objdump: -dr +#objdump: -dr -M hex #name: eBPF atomic instructions, big endian .*: +file format .*bpf.* @@ -9,5 +8,23 @@ Disassembly of section .text: 0+ <.text>: - 0: db 12 1e ef 00 00 00 00 xadddw \[%r1\+0x1eef\],%r2 - 8: c3 12 1e ef 00 00 00 00 xaddw \[%r1\+0x1eef\],%r2 + 0: db 12 1e ef 00 00 00 00 aadd \[%r1\+0x1eef\],%r2 + 8: c3 12 1e ef 00 00 00 00 aadd32 \[%r1\+0x1eef\],%r2 + 10: db 12 1e ef 00 00 00 50 aand \[%r1\+0x1eef\],%r2 + 18: c3 12 1e ef 00 00 00 50 aand32 \[%r1\+0x1eef\],%r2 + 20: db 12 1e ef 00 00 00 40 aor \[%r1\+0x1eef\],%r2 + 28: c3 12 1e ef 00 00 00 40 aor32 \[%r1\+0x1eef\],%r2 + 30: db 12 1e ef 00 00 00 a0 axor \[%r1\+0x1eef\],%r2 + 38: c3 12 1e ef 00 00 00 a0 axor32 \[%r1\+0x1eef\],%r2 + 40: db 12 1e ef 00 00 00 01 afadd \[%r1\+0x1eef\],%r2 + 48: c3 12 1e ef 00 00 00 01 afadd32 \[%r1\+0x1eef\],%r2 + 50: db 12 1e ef 00 00 00 51 afand \[%r1\+0x1eef\],%r2 + 58: c3 12 1e ef 00 00 00 51 afand32 \[%r1\+0x1eef\],%r2 + 60: db 12 1e ef 00 00 00 41 afor \[%r1\+0x1eef\],%r2 + 68: c3 12 1e ef 00 00 00 41 afor32 \[%r1\+0x1eef\],%r2 + 70: db 12 1e ef 00 00 00 a1 afxor \[%r1\+0x1eef\],%r2 + 78: c3 12 1e ef 00 00 00 a1 afxor32 \[%r1\+0x1eef\],%r2 + 80: db 12 00 04 00 00 00 f1 acmp \[%r1\+0x4\],%r2 + 88: c3 23 00 04 00 00 00 f1 acmp32 \[%r2\+0x4\],%r3 + 90: db 12 00 08 00 00 00 e1 axchg \[%r1\+0x8\],%r2 + 98: c3 13 00 08 00 00 00 e1 axchg32 \[%r1\+0x8\],%r3 diff --git a/gas/testsuite/gas/bpf/atomic-pseudoc.d b/gas/testsuite/gas/bpf/atomic-pseudoc.d index 3b0e5c5..2b3739e 100644 --- a/gas/testsuite/gas/bpf/atomic-pseudoc.d +++ b/gas/testsuite/gas/bpf/atomic-pseudoc.d @@ -1,5 +1,32 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: atomic-pseudoc.s -#dump: atomic.dump -#name: eBPF atomic instructions, normal syntax +#name: eBPF atomic instructions, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: db 21 ef 1e 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 + 8: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 10: db 21 ef 1e 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 + 18: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 20: db 21 ef 1e 50 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\&=r2 + 28: c3 21 ef 1e 50 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\&=r2 + 30: db 21 ef 1e 40 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\|=r2 + 38: c3 21 ef 1e 40 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\|=r2 + 40: db 21 ef 1e a0 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\^=r2 + 48: c3 21 ef 1e a0 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\^=r2 + 50: db 21 ef 1e 01 00 00 00 r2=atomic_fetch_add\(\(u64\*\)\(r1\+0x1eef\),r2\) + 58: c3 21 ef 1e 01 00 00 00 w2=atomic_fetch_add\(\(u32\*\)\(r1\+0x1eef\),w2\) + 60: db 21 ef 1e 51 00 00 00 r2=atomic_fetch_and\(\(u64\*\)\(r1\+0x1eef\),r2\) + 68: c3 21 ef 1e 51 00 00 00 w2=atomic_fetch_and\(\(u32\*\)\(r1\+0x1eef\),w2\) + 70: db 21 ef 1e 41 00 00 00 r2=atomic_fetch_or\(\(u64\*\)\(r1\+0x1eef\),r2\) + 78: c3 21 ef 1e 41 00 00 00 w2=atomic_fetch_or\(\(u32\*\)\(r1\+0x1eef\),w2\) + 80: db 21 ef 1e a1 00 00 00 r2=atomic_fetch_xor\(\(u64\*\)\(r1\+0x1eef\),r2\) + 88: c3 21 ef 1e a1 00 00 00 w2=atomic_fetch_xor\(\(u32\*\)\(r1\+0x1eef\),w2\) + 90: db 21 04 00 f1 00 00 00 r0=cmpxchg_64\(r1\+0x4,r0,r2\) + 98: c3 32 04 00 f1 00 00 00 w0=cmpxchg32_32\(r2\+0x4,w0,w3\) + a0: db 21 08 00 e1 00 00 00 r2=xchg_64\(r1\+0x8,r2\) + a8: c3 31 08 00 e1 00 00 00 w3=xchg32_32\(r1\+0x8,w3\) diff --git a/gas/testsuite/gas/bpf/atomic-pseudoc.s b/gas/testsuite/gas/bpf/atomic-pseudoc.s index 1a4f218..6994fd1 100644 --- a/gas/testsuite/gas/bpf/atomic-pseudoc.s +++ b/gas/testsuite/gas/bpf/atomic-pseudoc.s @@ -1,4 +1,24 @@ - # Test for eBPF ADDW and ADDDW pseudo-C instructions + # Test for eBPF atomic pseudo-C instructions. .text - lock *(u64 *)(r1 + 7919) += r2 - lock *(u32 *)(r1 + 7919) += r2 + lock *(u64 *)(r1 + 0x1eef) += r2 + lock *(u32 *)(r1 + 0x1eef) += r2 + lock *(u64*)(r1+0x1eef)+=r2 + lock *(u32*)(r1+0x1eef)+=r2 + lock *(u64*)(r1+0x1eef)&=r2 + lock *(u32*)(r1+0x1eef)&=r2 + lock *(u64*)(r1+0x1eef)|=r2 + lock *(u32*)(r1+0x1eef)|=r2 + lock *(u64*)(r1+0x1eef)^=r2 + lock *(u32*)(r1+0x1eef)^=r2 + r2 = atomic_fetch_add((u64*)(r1+0x1eef),r2) + w2 = atomic_fetch_add((u32*)(r1+0x1eef),w2) + r2 = atomic_fetch_and((u64*)(r1+0x1eef),r2) + w2 = atomic_fetch_and((u32*)(r1+0x1eef),w2) + r2 = atomic_fetch_or((u64*)(r1+0x1eef),r2) + w2 = atomic_fetch_or((u32*)(r1+0x1eef),w2) + r2 = atomic_fetch_xor((u64*)(r1+0x1eef),r2) + w2 = atomic_fetch_xor((u32*)(r1+0x1eef),w2) + r0 = cmpxchg_64(r1+0x4,r0,r2) + w0 = cmpxchg32_32(r2+0x4,w0,w3) + r2 = xchg_64(r1+0x8,r2) + w3 = xchg32_32(r1+0x8,w3) diff --git a/gas/testsuite/gas/bpf/atomic.d b/gas/testsuite/gas/bpf/atomic.d index c48ba9a..121ab35 100644 --- a/gas/testsuite/gas/bpf/atomic.d +++ b/gas/testsuite/gas/bpf/atomic.d @@ -1,5 +1,30 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #source: atomic.s -#dump: atomic.dump #name: eBPF atomic instructions, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: db 21 ef 1e 00 00 00 00 aadd \[%r1\+0x1eef\],%r2 + 8: c3 21 ef 1e 00 00 00 00 aadd32 \[%r1\+0x1eef\],%r2 + 10: db 21 ef 1e 50 00 00 00 aand \[%r1\+0x1eef\],%r2 + 18: c3 21 ef 1e 50 00 00 00 aand32 \[%r1\+0x1eef\],%r2 + 20: db 21 ef 1e 40 00 00 00 aor \[%r1\+0x1eef\],%r2 + 28: c3 21 ef 1e 40 00 00 00 aor32 \[%r1\+0x1eef\],%r2 + 30: db 21 ef 1e a0 00 00 00 axor \[%r1\+0x1eef\],%r2 + 38: c3 21 ef 1e a0 00 00 00 axor32 \[%r1\+0x1eef\],%r2 + 40: db 21 ef 1e 01 00 00 00 afadd \[%r1\+0x1eef\],%r2 + 48: c3 21 ef 1e 01 00 00 00 afadd32 \[%r1\+0x1eef\],%r2 + 50: db 21 ef 1e 51 00 00 00 afand \[%r1\+0x1eef\],%r2 + 58: c3 21 ef 1e 51 00 00 00 afand32 \[%r1\+0x1eef\],%r2 + 60: db 21 ef 1e 41 00 00 00 afor \[%r1\+0x1eef\],%r2 + 68: c3 21 ef 1e 41 00 00 00 afor32 \[%r1\+0x1eef\],%r2 + 70: db 21 ef 1e a1 00 00 00 afxor \[%r1\+0x1eef\],%r2 + 78: c3 21 ef 1e a1 00 00 00 afxor32 \[%r1\+0x1eef\],%r2 + 80: db 21 04 00 f1 00 00 00 acmp \[%r1\+0x4\],%r2 + 88: c3 32 04 00 f1 00 00 00 acmp32 \[%r2\+0x4\],%r3 + 90: db 21 08 00 e1 00 00 00 axchg \[%r1\+0x8\],%r2 + 98: c3 31 08 00 e1 00 00 00 axchg32 \[%r1\+0x8\],%r3 diff --git a/gas/testsuite/gas/bpf/atomic.s b/gas/testsuite/gas/bpf/atomic.s index 0119b24..39ad5ce 100644 --- a/gas/testsuite/gas/bpf/atomic.s +++ b/gas/testsuite/gas/bpf/atomic.s @@ -1,5 +1,24 @@ - # Test for eBPF ADDW and ADDDW instructions + # Test for eBPF atomic instructions .text - xadddw [%r1+0x1eef], %r2 - xaddw [%r1+0x1eef], %r2 - + aadd [%r1+0x1eef], %r2 + aadd32 [%r1+0x1eef], %r2 + aand [%r1+0x1eef], %r2 + aand32 [%r1+0x1eef], %r2 + aor [%r1+0x1eef], %r2 + aor32 [%r1+0x1eef], %r2 + axor [%r1+0x1eef], %r2 + axor32 [%r1+0x1eef], %r2 + + afadd [%r1+0x1eef], %r2 + afadd32 [%r1+0x1eef], %r2 + afand [%r1+0x1eef], %r2 + afand32 [%r1+0x1eef], %r2 + afor [%r1+0x1eef], %r2 + afor32 [%r1+0x1eef], %r2 + afxor [%r1+0x1eef], %r2 + afxor32 [%r1+0x1eef], %r2 + + acmp [%r1+4], %r2 + acmp32 [%r2+4], %r3 + axchg [%r1+8], %r2 + axchg32 [%r1+8], %r3 diff --git a/gas/testsuite/gas/bpf/bpf.exp b/gas/testsuite/gas/bpf/bpf.exp index 5d91805..80f5a1d 100644 --- a/gas/testsuite/gas/bpf/bpf.exp +++ b/gas/testsuite/gas/bpf/bpf.exp @@ -18,6 +18,10 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. if {[istarget bpf*-*-*]} { + # Little-endian BPF tests + run_dump_test call + run_dump_test exit + run_dump_test data run_dump_test lddw run_dump_test lddw-pseudoc run_dump_test alu @@ -30,13 +34,19 @@ if {[istarget bpf*-*-*]} { run_dump_test jump-pseudoc run_dump_test jump32 run_dump_test jump32-pseudoc - run_dump_test call - run_dump_test exit + run_dump_test atomic-v1 run_dump_test atomic run_dump_test atomic-pseudoc - run_dump_test data - run_dump_test pseudoc-normal + run_dump_test indcall-1 + run_dump_test indcall-1-pseudoc + + run_dump_test jump-relax-ja + run_dump_test jump-relax-jump + # Big-endian BPF tests + run_dump_test call-be + run_dump_test exit-be + run_dump_test data-be run_dump_test lddw-be run_dump_test lddw-be-pseudoc run_dump_test alu-be @@ -44,17 +54,22 @@ if {[istarget bpf*-*-*]} { run_dump_test alu32-be run_dump_test alu32-be-pseudoc run_dump_test mem-be + run_dump_test mem-be-pseudoc run_dump_test jump-be - run_dump_test call-be - run_dump_test exit-be + run_dump_test jump-be-pseudoc + run_dump_test jump32-be + run_dump_test jump32-be-pseudoc + run_dump_test atomic-v1-be run_dump_test atomic-be - run_dump_test data-be - run_dump_test pseudoc-normal-be + run_dump_test atomic-be-pseudoc - run_dump_test indcall-1 - run_dump_test indcall-1-pseudoc - run_list_test indcall-bad-1 + run_dump_test jump-relax-ja-be + run_dump_test jump-relax-jump-be - run_dump_test alu-xbpf - run_dump_test alu32-xbpf + # Overflow tests + run_dump_test offset16-overflow + run_dump_test disp16-overflow + run_dump_test disp16-overflow-relax + run_dump_test disp32-overflow + run_dump_test imm32-overflow } diff --git a/gas/testsuite/gas/bpf/call-be.d b/gas/testsuite/gas/bpf/call-be.d index bd3b50f..55e4e70 100644 --- a/gas/testsuite/gas/bpf/call-be.d +++ b/gas/testsuite/gas/bpf/call-be.d @@ -1,6 +1,6 @@ -#as: --EB +#as: -EB -mdialect=normal #source: call.s -#objdump: -dr +#objdump: -dr -M dec #name: eBPF CALL instruction, big endian .*: +file format .*bpf.* diff --git a/gas/testsuite/gas/bpf/call.d b/gas/testsuite/gas/bpf/call.d index daefbd0..a85cb7f 100644 --- a/gas/testsuite/gas/bpf/call.d +++ b/gas/testsuite/gas/bpf/call.d @@ -1,5 +1,5 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M dec #name: eBPF CALL instruction .*: +file format .*bpf.* diff --git a/gas/testsuite/gas/bpf/data-be.d b/gas/testsuite/gas/bpf/data-be.d index 010f08f..3a8b68b 100644 --- a/gas/testsuite/gas/bpf/data-be.d +++ b/gas/testsuite/gas/bpf/data-be.d @@ -1,4 +1,4 @@ -#as: --EB +#as: -EB -mdialect=normal #source: data.s #objdump: -s -j .data #name: eBPF data directives, big endian diff --git a/gas/testsuite/gas/bpf/data.d b/gas/testsuite/gas/bpf/data.d index 6824e8b..9fa108b6 100644 --- a/gas/testsuite/gas/bpf/data.d +++ b/gas/testsuite/gas/bpf/data.d @@ -1,4 +1,4 @@ -#as: --EL +#as: -EL -mdialect=normal #objdump: -s -j .data #name: eBPF data directives diff --git a/gas/testsuite/gas/bpf/exit-be.d b/gas/testsuite/gas/bpf/exit-be.d index d3b88c7..b83af3e 100644 --- a/gas/testsuite/gas/bpf/exit-be.d +++ b/gas/testsuite/gas/bpf/exit-be.d @@ -1,6 +1,6 @@ -#as: --EB +#as: -EB -mdialect=normal #source: exit.s -#objdump: -dr +#objdump: -dr -M hex #name: eBPF EXIT instruction, big endian .*: +file format .*bpf.* diff --git a/gas/testsuite/gas/bpf/exit.d b/gas/testsuite/gas/bpf/exit.d index 87bc91b..68ef902 100644 --- a/gas/testsuite/gas/bpf/exit.d +++ b/gas/testsuite/gas/bpf/exit.d @@ -1,5 +1,5 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #name: eBPF EXIT instruction .*: +file format .*bpf.* diff --git a/gas/testsuite/gas/bpf/indcall-1-pseudoc.d b/gas/testsuite/gas/bpf/indcall-1-pseudoc.d index b04e656..7a95bad 100644 --- a/gas/testsuite/gas/bpf/indcall-1-pseudoc.d +++ b/gas/testsuite/gas/bpf/indcall-1-pseudoc.d @@ -1,5 +1,23 @@ -#as: -mxbpf --EL -#objdump: -mxbpf -dr +#as: -EL -mdialect=pseudoc -misa-spec=xbpf +#objdump: -M xbpf,pseudoc,dec -dr #source: indcall-1-pseudoc.s -#dump: indcall-1.dump #name: BPF indirect call 1, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section \.text: + +0000000000000000 <main>: + 0: b7 00 00 00 01 00 00 00 r0=1 + 8: b7 01 00 00 01 00 00 00 r1=1 + 10: b7 02 00 00 02 00 00 00 r2=2 + 18: 18 06 00 00 38 00 00 00 r6=56 ll + 20: 00 00 00 00 00 00 00 00[ ]* + 18: R_BPF_64_64 .text + 28: 8d 06 00 00 00 00 00 00 callx r6 + 30: 95 00 00 00 00 00 00 00 exit + +0000000000000038 <bar>: + 38: b7 00 00 00 00 00 00 00 r0=0 + 40: 95 00 00 00 00 00 00 00 exit +#pass diff --git a/gas/testsuite/gas/bpf/indcall-1.d b/gas/testsuite/gas/bpf/indcall-1.d index e04b98b..51103bb 100644 --- a/gas/testsuite/gas/bpf/indcall-1.d +++ b/gas/testsuite/gas/bpf/indcall-1.d @@ -1,5 +1,23 @@ -#as: -mxbpf --EL -#objdump: -mxbpf -dr +#as: -EL -misa-spec=xbpf +#objdump: -dr -M xbpf,dec #source: indcall-1.s -#dump: indcall-1.dump #name: BPF indirect call 1, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section \.text: + +0000000000000000 <main>: + 0: b7 00 00 00 01 00 00 00 mov %r0,1 + 8: b7 01 00 00 01 00 00 00 mov %r1,1 + 10: b7 02 00 00 02 00 00 00 mov %r2,2 + 18: 18 06 00 00 38 00 00 00 lddw %r6,56 + 20: 00 00 00 00 00 00 00 00[ ]* + 18: R_BPF_64_64 .text + 28: 8d 06 00 00 00 00 00 00 call %r6 + 30: 95 00 00 00 00 00 00 00 exit + +0000000000000038 <bar>: + 38: b7 00 00 00 00 00 00 00 mov %r0,0 + 40: 95 00 00 00 00 00 00 00 exit +#pass diff --git a/gas/testsuite/gas/bpf/jump-be.d b/gas/testsuite/gas/bpf/jump-be.d index 7e235e6..fffe1e9 100644 --- a/gas/testsuite/gas/bpf/jump-be.d +++ b/gas/testsuite/gas/bpf/jump-be.d @@ -1,7 +1,6 @@ -#as: --EB +#as: -EB -mdialect=normal #source: jump.s -#source: jump-pseudoc.s -#objdump: -dr +#objdump: -dr -M dec #name: eBPF JUMP instructions, big endian .*: +file format .*bpf.* @@ -31,3 +30,5 @@ Disassembly of section .text: 98: cd 34 00 00 00 00 00 00 jslt %r3,%r4,0 a0: d5 30 00 01 00 00 00 03 jsle %r3,3,1 a8: dd 34 00 00 00 00 00 00 jsle %r3,%r4,0 + b0: 06 00 00 00 00 00 00 01 jal 1 + b8: 06 00 00 00 00 00 00 00 jal 0 diff --git a/gas/testsuite/gas/bpf/jump-pseudoc.d b/gas/testsuite/gas/bpf/jump-pseudoc.d index bc17266..9b68108 100644 --- a/gas/testsuite/gas/bpf/jump-pseudoc.d +++ b/gas/testsuite/gas/bpf/jump-pseudoc.d @@ -1,5 +1,34 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M dec,pseudoc #source: jump-pseudoc.s -#dump: jump.dump #name: eBPF JUMP instructions, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 05 00 03 00 00 00 00 00 goto 3 + 8: 0f 11 00 00 00 00 00 00 r1\+=r1 + 10: 15 03 01 00 03 00 00 00 if r3==3 goto 1 + 18: 1d 43 00 00 00 00 00 00 if r3==r4 goto 0 + 20: 35 03 fd ff 03 00 00 00 if r3>=3 goto -3 + 28: 3d 43 fc ff 00 00 00 00 if r3>=r4 goto -4 + 30: a5 03 01 00 03 00 00 00 if r3<3 goto 1 + 38: ad 43 00 00 00 00 00 00 if r3<r4 goto 0 + 40: b5 03 01 00 03 00 00 00 if r3<=3 goto 1 + 48: bd 43 00 00 00 00 00 00 if r3<=r4 goto 0 + 50: 45 03 01 00 03 00 00 00 if r3&3 goto 1 + 58: 4d 43 00 00 00 00 00 00 if r3&r4 goto 0 + 60: 55 03 01 00 03 00 00 00 if r3!=3 goto 1 + 68: 5d 43 00 00 00 00 00 00 if r3!=r4 goto 0 + 70: 65 03 01 00 03 00 00 00 if r3s>3 goto 1 + 78: 6d 43 00 00 00 00 00 00 if r3s>r4 goto 0 + 80: 75 03 01 00 03 00 00 00 if r3s>=3 goto 1 + 88: 7d 43 00 00 00 00 00 00 if r3s>=r4 goto 0 + 90: c5 03 01 00 03 00 00 00 if r3s<3 goto 1 + 98: cd 43 00 00 00 00 00 00 if r3s<r4 goto 0 + a0: d5 03 01 00 03 00 00 00 if r3s<=3 goto 1 + a8: dd 43 00 00 00 00 00 00 if r3s<=r4 goto 0 + b0: 06 00 00 00 01 00 00 00 gotol 1 + b8: 06 00 00 00 00 00 00 00 gotol 0
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/jump-pseudoc.s b/gas/testsuite/gas/bpf/jump-pseudoc.s index 1331bda..9f86080 100644 --- a/gas/testsuite/gas/bpf/jump-pseudoc.s +++ b/gas/testsuite/gas/bpf/jump-pseudoc.s @@ -22,4 +22,6 @@ if r3 s< r4 goto 1f 1: if r3 s<= 3 goto 1f if r3 s<= r4 goto 1f +1: gotol 1f + gotol 1f 1: diff --git a/gas/testsuite/gas/bpf/jump.d b/gas/testsuite/gas/bpf/jump.d index 082b3c3..4da3727 100644 --- a/gas/testsuite/gas/bpf/jump.d +++ b/gas/testsuite/gas/bpf/jump.d @@ -1,5 +1,34 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M dec #source: jump.s -#dump: jump.dump #name: eBPF JUMP instructions, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 05 00 03 00 00 00 00 00 ja 3 + 8: 0f 11 00 00 00 00 00 00 add %r1,%r1 + 10: 15 03 01 00 03 00 00 00 jeq %r3,3,1 + 18: 1d 43 00 00 00 00 00 00 jeq %r3,%r4,0 + 20: 35 03 fd ff 03 00 00 00 jge %r3,3,-3 + 28: 3d 43 fc ff 00 00 00 00 jge %r3,%r4,-4 + 30: a5 03 01 00 03 00 00 00 jlt %r3,3,1 + 38: ad 43 00 00 00 00 00 00 jlt %r3,%r4,0 + 40: b5 03 01 00 03 00 00 00 jle %r3,3,1 + 48: bd 43 00 00 00 00 00 00 jle %r3,%r4,0 + 50: 45 03 01 00 03 00 00 00 jset %r3,3,1 + 58: 4d 43 00 00 00 00 00 00 jset %r3,%r4,0 + 60: 55 03 01 00 03 00 00 00 jne %r3,3,1 + 68: 5d 43 00 00 00 00 00 00 jne %r3,%r4,0 + 70: 65 03 01 00 03 00 00 00 jsgt %r3,3,1 + 78: 6d 43 00 00 00 00 00 00 jsgt %r3,%r4,0 + 80: 75 03 01 00 03 00 00 00 jsge %r3,3,1 + 88: 7d 43 00 00 00 00 00 00 jsge %r3,%r4,0 + 90: c5 03 01 00 03 00 00 00 jslt %r3,3,1 + 98: cd 43 00 00 00 00 00 00 jslt %r3,%r4,0 + a0: d5 03 01 00 03 00 00 00 jsle %r3,3,1 + a8: dd 43 00 00 00 00 00 00 jsle %r3,%r4,0 + b0: 06 00 00 00 01 00 00 00 jal 1 + b8: 06 00 00 00 00 00 00 00 jal 0
\ No newline at end of file diff --git a/gas/testsuite/gas/bpf/jump.s b/gas/testsuite/gas/bpf/jump.s index aae4295..c3d36bd 100644 --- a/gas/testsuite/gas/bpf/jump.s +++ b/gas/testsuite/gas/bpf/jump.s @@ -22,4 +22,6 @@ jslt %r3,%r4,1f 1: jsle %r3,3,1f jsle %r3,%r4,1f -1: +1: jal 1f + jal 1f +1: diff --git a/gas/testsuite/gas/bpf/jump32-pseudoc.d b/gas/testsuite/gas/bpf/jump32-pseudoc.d index 55fb97b..27367d3 100644 --- a/gas/testsuite/gas/bpf/jump32-pseudoc.d +++ b/gas/testsuite/gas/bpf/jump32-pseudoc.d @@ -1,5 +1,32 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M dec,pseudoc #source: jump32-pseudoc.s -#dump: jump32.dump #name: eBPF JUMP32 instructions, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 05 00 03 00 00 00 00 00 goto 3 + 8: 0f 11 00 00 00 00 00 00 r1\+=r1 + 10: 16 03 01 00 03 00 00 00 if w3==3 goto 1 + 18: 1e 43 00 00 00 00 00 00 if w3==w4 goto 0 + 20: 36 03 fd ff 03 00 00 00 if w3>=3 goto -3 + 28: 3e 43 fc ff 00 00 00 00 if w3>=w4 goto -4 + 30: a6 03 01 00 03 00 00 00 if w3<3 goto 1 + 38: ae 43 00 00 00 00 00 00 if w3<w4 goto 0 + 40: b6 03 01 00 03 00 00 00 if w3<=3 goto 1 + 48: be 43 00 00 00 00 00 00 if w3<=w4 goto 0 + 50: 46 03 01 00 03 00 00 00 if w3&3 goto 1 + 58: 4e 43 00 00 00 00 00 00 if w3&w4 goto 0 + 60: 56 03 01 00 03 00 00 00 if w3!=3 goto 1 + 68: 5e 43 00 00 00 00 00 00 if w3!=w4 goto 0 + 70: 66 03 01 00 03 00 00 00 if w3s>3 goto 1 + 78: 6e 43 00 00 00 00 00 00 if w3s>w4 goto 0 + 80: 76 03 01 00 03 00 00 00 if w3s>=3 goto 1 + 88: 7e 43 00 00 00 00 00 00 if w3s>=w4 goto 0 + 90: c6 03 01 00 03 00 00 00 if w3s<3 goto 1 + 98: ce 43 00 00 00 00 00 00 if w3s<w4 goto 0 + a0: d6 03 01 00 03 00 00 00 if w3s<=3 goto 1 + a8: de 43 00 00 00 00 00 00 if w3s<=w4 goto 0 diff --git a/gas/testsuite/gas/bpf/jump32.d b/gas/testsuite/gas/bpf/jump32.d index c5efb41..e39dc38 100644 --- a/gas/testsuite/gas/bpf/jump32.d +++ b/gas/testsuite/gas/bpf/jump32.d @@ -1,5 +1,32 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M dec #source: jump32.s -#dump: jump32.dump #name: eBPF JUMP32 instructions, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 05 00 03 00 00 00 00 00 ja 3 + 8: 0f 11 00 00 00 00 00 00 add %r1,%r1 + 10: 16 03 01 00 03 00 00 00 jeq32 %r3,3,1 + 18: 1e 43 00 00 00 00 00 00 jeq32 %r3,%r4,0 + 20: 36 03 fd ff 03 00 00 00 jge32 %r3,3,-3 + 28: 3e 43 fc ff 00 00 00 00 jge32 %r3,%r4,-4 + 30: a6 03 01 00 03 00 00 00 jlt32 %r3,3,1 + 38: ae 43 00 00 00 00 00 00 jlt32 %r3,%r4,0 + 40: b6 03 01 00 03 00 00 00 jle32 %r3,3,1 + 48: be 43 00 00 00 00 00 00 jle32 %r3,%r4,0 + 50: 46 03 01 00 03 00 00 00 jset32 %r3,3,1 + 58: 4e 43 00 00 00 00 00 00 jset32 %r3,%r4,0 + 60: 56 03 01 00 03 00 00 00 jne32 %r3,3,1 + 68: 5e 43 00 00 00 00 00 00 jne32 %r3,%r4,0 + 70: 66 03 01 00 03 00 00 00 jsgt32 %r3,3,1 + 78: 6e 43 00 00 00 00 00 00 jsgt32 %r3,%r4,0 + 80: 76 03 01 00 03 00 00 00 jsge32 %r3,3,1 + 88: 7e 43 00 00 00 00 00 00 jsge32 %r3,%r4,0 + 90: c6 03 01 00 03 00 00 00 jslt32 %r3,3,1 + 98: ce 43 00 00 00 00 00 00 jslt32 %r3,%r4,0 + a0: d6 03 01 00 03 00 00 00 jsle32 %r3,3,1 + a8: de 43 00 00 00 00 00 00 jsle32 %r3,%r4,0 diff --git a/gas/testsuite/gas/bpf/lddw-be-pseudoc.d b/gas/testsuite/gas/bpf/lddw-be-pseudoc.d index e7b477a..940780b 100644 --- a/gas/testsuite/gas/bpf/lddw-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/lddw-be-pseudoc.d @@ -1,5 +1,18 @@ -#as: --EB +#as: -EB -mdialect=pseudoc #source: lddw-pseudoc.s -#objdump: -dr -#dump: lddw-be.dump +#objdump: -dr -M hex,pseudoc #name: eBPF LDDW, big-endian, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 18 30 00 00 00 00 00 01 r3=0x1 ll + 8: 00 00 00 00 00 00 00 00 + 10: 18 40 00 00 de ad be ef r4=0xdeadbeef ll + 18: 00 00 00 00 00 00 00 00 + 20: 18 50 00 00 55 66 77 88 r5=0x1122334455667788 ll + 28: 00 00 00 00 11 22 33 44 + 30: 18 60 00 00 ff ff ff fe r6=0xfffffffffffffffe ll + 38: 00 00 00 00 ff ff ff ff diff --git a/gas/testsuite/gas/bpf/lddw-be.d b/gas/testsuite/gas/bpf/lddw-be.d index cf1bfba..c104378 100644 --- a/gas/testsuite/gas/bpf/lddw-be.d +++ b/gas/testsuite/gas/bpf/lddw-be.d @@ -1,5 +1,18 @@ -#as: --EB +#as: -EB -mdialect=normal #source: lddw.s -#objdump: -dr -#dump: lddw-be.dump +#objdump: -dr -M hex #name: eBPF LDDW, big-endian, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 18 30 00 00 00 00 00 01 lddw %r3,0x1 + 8: 00 00 00 00 00 00 00 00 + 10: 18 40 00 00 de ad be ef lddw %r4,0xdeadbeef + 18: 00 00 00 00 00 00 00 00 + 20: 18 50 00 00 55 66 77 88 lddw %r5,0x1122334455667788 + 28: 00 00 00 00 11 22 33 44 + 30: 18 60 00 00 ff ff ff fe lddw %r6,0xfffffffffffffffe + 38: 00 00 00 00 ff ff ff ff diff --git a/gas/testsuite/gas/bpf/lddw-pseudoc.d b/gas/testsuite/gas/bpf/lddw-pseudoc.d index 838e012..3a5ce86 100644 --- a/gas/testsuite/gas/bpf/lddw-pseudoc.d +++ b/gas/testsuite/gas/bpf/lddw-pseudoc.d @@ -1,5 +1,18 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: lddw-pseudoc.s -#dump: lddw.dump #name: eBPF LDDW, pseudoc syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 18 03 00 00 01 00 00 00 r3=0x1 ll + 8: 00 00 00 00 00 00 00 00 + 10: 18 04 00 00 ef be ad de r4=0xdeadbeef ll + 18: 00 00 00 00 00 00 00 00 + 20: 18 05 00 00 88 77 66 55 r5=0x1122334455667788 ll + 28: 00 00 00 00 44 33 22 11 + 30: 18 06 00 00 fe ff ff ff r6=0xfffffffffffffffe ll + 38: 00 00 00 00 ff ff ff ff diff --git a/gas/testsuite/gas/bpf/lddw.d b/gas/testsuite/gas/bpf/lddw.d index 82ff1b4..c7a0809 100644 --- a/gas/testsuite/gas/bpf/lddw.d +++ b/gas/testsuite/gas/bpf/lddw.d @@ -1,5 +1,18 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #source: lddw.s -#dump: lddw.dump #name: eBPF LDDW, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 18 03 00 00 01 00 00 00 lddw %r3,0x1 + 8: 00 00 00 00 00 00 00 00 + 10: 18 04 00 00 ef be ad de lddw %r4,0xdeadbeef + 18: 00 00 00 00 00 00 00 00 + 20: 18 05 00 00 88 77 66 55 lddw %r5,0x1122334455667788 + 28: 00 00 00 00 44 33 22 11 + 30: 18 06 00 00 fe ff ff ff lddw %r6,0xfffffffffffffffe + 38: 00 00 00 00 ff ff ff ff diff --git a/gas/testsuite/gas/bpf/mem-be.d b/gas/testsuite/gas/bpf/mem-be.d index 148c55a..cd7b35c 100644 --- a/gas/testsuite/gas/bpf/mem-be.d +++ b/gas/testsuite/gas/bpf/mem-be.d @@ -1,7 +1,6 @@ -#as: --EB +#as: -EB -mdialect=normal #source: mem.s -#source: mem-pseudoc.s -#objdump: -dr +#objdump: -dr -M hex #name: eBPF MEM instructions, modulus lddw, big endian .*: +file format .*bpf.* @@ -20,12 +19,18 @@ Disassembly of section .text: 40: 61 21 7e ef 00 00 00 00 ldxw %r2,\[%r1\+0x7eef\] 48: 69 21 7e ef 00 00 00 00 ldxh %r2,\[%r1\+0x7eef\] 50: 71 21 7e ef 00 00 00 00 ldxb %r2,\[%r1\+0x7eef\] - 58: 79 21 ff fe 00 00 00 00 ldxdw %r2,\[%r1\+-2\] + 58: 79 21 ff fe 00 00 00 00 ldxdw %r2,\[%r1\+0xfffe\] 60: 63 12 7e ef 00 00 00 00 stxw \[%r1\+0x7eef\],%r2 68: 6b 12 7e ef 00 00 00 00 stxh \[%r1\+0x7eef\],%r2 70: 73 12 7e ef 00 00 00 00 stxb \[%r1\+0x7eef\],%r2 - 78: 7b 12 ff fe 00 00 00 00 stxdw \[%r1\+-2\],%r2 + 78: 7b 12 ff fe 00 00 00 00 stxdw \[%r1\+0xfffe\],%r2 80: 72 10 7e ef 11 22 33 44 stb \[%r1\+0x7eef\],0x11223344 88: 6a 10 7e ef 11 22 33 44 sth \[%r1\+0x7eef\],0x11223344 90: 62 10 7e ef 11 22 33 44 stw \[%r1\+0x7eef\],0x11223344 - 98: 7a 10 ff fe 11 22 33 44 stdw \[%r1\+-2\],0x11223344 + 98: 7a 10 ff fe 11 22 33 44 stdw \[%r1\+0xfffe\],0x11223344 + a0: 81 21 7e ef 00 00 00 00 ldxsw %r2,\[%r1\+0x7eef\] + a8: 89 21 7e ef 00 00 00 00 ldxsh %r2,\[%r1\+0x7eef\] + b0: 91 21 7e ef 00 00 00 00 ldxsb %r2,\[%r1\+0x7eef\] + b8: 99 21 7e ef 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] + c0: 79 21 00 00 00 00 00 00 ldxdw %r2,\[%r1\+0x0\] + c8: 40 03 00 00 00 00 00 00 ldindw %r3,0x0 diff --git a/gas/testsuite/gas/bpf/mem-pseudoc.d b/gas/testsuite/gas/bpf/mem-pseudoc.d index ef5b895..7c37c16 100644 --- a/gas/testsuite/gas/bpf/mem-pseudoc.d +++ b/gas/testsuite/gas/bpf/mem-pseudoc.d @@ -1,5 +1,36 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=pseudoc +#objdump: -dr -M hex,pseudoc #source: mem-pseudoc.s -#dump: mem.dump #name: eBPF MEM instructions, modulus lddw, pseudo-c syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 20 00 00 00 ef be 00 00 r0=\*\(u32\*\)skb\[0xbeef\] + 8: 28 00 00 00 ef be 00 00 r0=\*\(u16\*\)skb\[0xbeef\] + 10: 30 00 00 00 ef be 00 00 r0=\*\(u8\*\)skb\[0xbeef\] + 18: 38 00 00 00 ef be 00 00 r0=\*\(u64\*\)skb\[0xbeef\] + 20: 40 30 00 00 ef be 00 00 r0=\*\(u32\*\)skb\[r3\+0xbeef\] + 28: 48 50 00 00 ef be 00 00 r0=\*\(u16\*\)skb\[r5\+0xbeef\] + 30: 50 70 00 00 ef be 00 00 r0=\*\(u8\*\)skb\[r7\+0xbeef\] + 38: 58 90 00 00 ef be 00 00 r0=\*\(u64\*\)skb\[r9\+0xbeef\] + 40: 61 12 ef 7e 00 00 00 00 r2=\*\(u32\*\)\(r1\+0x7eef\) + 48: 69 12 ef 7e 00 00 00 00 r2=\*\(u16\*\)\(r1\+0x7eef\) + 50: 71 12 ef 7e 00 00 00 00 r2=\*\(u8\*\)\(r1\+0x7eef\) + 58: 79 12 fe ff 00 00 00 00 r2=\*\(u64\*\)\(r1\+0xfffe\) + 60: 63 21 ef 7e 00 00 00 00 \*\(u32\*\)\(r1\+0x7eef\)=r2 + 68: 6b 21 ef 7e 00 00 00 00 \*\(u16\*\)\(r1\+0x7eef\)=r2 + 70: 73 21 ef 7e 00 00 00 00 \*\(u8\*\)\(r1\+0x7eef\)=r2 + 78: 7b 21 fe ff 00 00 00 00 \*\(u64\*\)\(r1\+0xfffe\)=r2 + 80: 72 01 ef 7e 44 33 22 11 \*\(u8\*\)\(r1\+0x7eef\)=0x11223344 + 88: 6a 01 ef 7e 44 33 22 11 \*\(u16\*\)\(r1\+0x7eef\)=0x11223344 + 90: 62 01 ef 7e 44 33 22 11 \*\(u32\*\)\(r1\+0x7eef\)=0x11223344 + 98: 7a 01 fe ff 44 33 22 11 \*\(u64\*\)\(r1\+0xfffe\)=0x11223344 + a0: 81 12 ef 7e 00 00 00 00 r2=\*\(s32\*\)\(r1\+0x7eef\) + a8: 89 12 ef 7e 00 00 00 00 r2=\*\(s16\*\)\(r1\+0x7eef\) + b0: 91 12 ef 7e 00 00 00 00 r2=\*\(s8\*\)\(r1\+0x7eef\) + b8: 99 12 ef 7e 00 00 00 00 r2=\*\(s64\*\)\(r1\+0x7eef\) + c0: 58 50 00 00 00 00 00 00 r0=\*\(u64\*\)skb\[r5\+0x0\] + c8: 61 12 00 00 00 00 00 00 r2=\*\(u32\*\)\(r1\+0x0\) diff --git a/gas/testsuite/gas/bpf/mem-pseudoc.s b/gas/testsuite/gas/bpf/mem-pseudoc.s index 06c2cfc..823083d 100644 --- a/gas/testsuite/gas/bpf/mem-pseudoc.s +++ b/gas/testsuite/gas/bpf/mem-pseudoc.s @@ -17,7 +17,13 @@ *(u16 *)(r1 + 32495) = r2 *(u8 *)(r1 + 32495) = r2 *(u64 *)(r1 - 2) = r2 - stb [%r1+0x7eef], 0x11223344 - sth [%r1+0x7eef], 0x11223344 - stw [%r1+0x7eef], 0x11223344 - stdw [%r1+-2], 0x11223344 + *(u8 *)(r1 + 0x7eef) = 0x11223344 + *(u16 *)(r1 + 0x7eef) = 0x11223344 + *(u32 *)(r1 + 0x7eef) = 0x11223344 + *(u64 *)(r1 + -2) = 0x11223344 + r2 = *(s32*)(r1+0x7eef) + r2 = *(s16*)(r1+0x7eef) + r2 = *(s8*)(r1+0x7eef) + r2 = *(s64*)(r1+0x7eef) + r0 = *(u64 *)skb[r5 + 0] + r2 = *(u32 *)(r1 + 0) diff --git a/gas/testsuite/gas/bpf/mem.d b/gas/testsuite/gas/bpf/mem.d index b01bdaa..9a1e709 100644 --- a/gas/testsuite/gas/bpf/mem.d +++ b/gas/testsuite/gas/bpf/mem.d @@ -1,5 +1,36 @@ -#as: --EL -#objdump: -dr +#as: -EL -mdialect=normal +#objdump: -dr -M hex #source: mem.s -#dump: mem.dump #name: eBPF MEM instructions, modulus lddw, normal syntax + +.*: +file format .*bpf.* + +Disassembly of section .text: + +0+ <.text>: + 0: 20 00 00 00 ef be 00 00 ldabsw 0xbeef + 8: 28 00 00 00 ef be 00 00 ldabsh 0xbeef + 10: 30 00 00 00 ef be 00 00 ldabsb 0xbeef + 18: 38 00 00 00 ef be 00 00 ldabsdw 0xbeef + 20: 40 30 00 00 ef be 00 00 ldindw %r3,0xbeef + 28: 48 50 00 00 ef be 00 00 ldindh %r5,0xbeef + 30: 50 70 00 00 ef be 00 00 ldindb %r7,0xbeef + 38: 58 90 00 00 ef be 00 00 ldinddw %r9,0xbeef + 40: 61 12 ef 7e 00 00 00 00 ldxw %r2,\[%r1\+0x7eef\] + 48: 69 12 ef 7e 00 00 00 00 ldxh %r2,\[%r1\+0x7eef\] + 50: 71 12 ef 7e 00 00 00 00 ldxb %r2,\[%r1\+0x7eef\] + 58: 79 12 fe ff 00 00 00 00 ldxdw %r2,\[%r1\+0xfffe\] + 60: 63 21 ef 7e 00 00 00 00 stxw \[%r1\+0x7eef\],%r2 + 68: 6b 21 ef 7e 00 00 00 00 stxh \[%r1\+0x7eef\],%r2 + 70: 73 21 ef 7e 00 00 00 00 stxb \[%r1\+0x7eef\],%r2 + 78: 7b 21 fe ff 00 00 00 00 stxdw \[%r1\+0xfffe\],%r2 + 80: 72 01 ef 7e 44 33 22 11 stb \[%r1\+0x7eef\],0x11223344 + 88: 6a 01 ef 7e 44 33 22 11 sth \[%r1\+0x7eef\],0x11223344 + 90: 62 01 ef 7e 44 33 22 11 stw \[%r1\+0x7eef\],0x11223344 + 98: 7a 01 fe ff 44 33 22 11 stdw \[%r1\+0xfffe\],0x11223344 + a0: 81 12 ef 7e 00 00 00 00 ldxsw %r2,\[%r1\+0x7eef\] + a8: 89 12 ef 7e 00 00 00 00 ldxsh %r2,\[%r1\+0x7eef\] + b0: 91 12 ef 7e 00 00 00 00 ldxsb %r2,\[%r1\+0x7eef\] + b8: 99 12 ef 7e 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] + c0: 79 12 00 00 00 00 00 00 ldxdw %r2,\[%r1\+0x0\] + c8: 40 30 00 00 00 00 00 00 ldindw %r3,0x0 diff --git a/gas/testsuite/gas/bpf/mem.s b/gas/testsuite/gas/bpf/mem.s index af6f41b..adeda47 100644 --- a/gas/testsuite/gas/bpf/mem.s +++ b/gas/testsuite/gas/bpf/mem.s @@ -21,4 +21,10 @@ stb [%r1+0x7eef], 0x11223344 sth [%r1+0x7eef], 0x11223344 stw [%r1+0x7eef], 0x11223344 - stdw [%r1+-2], 0x11223344 + stdw [%r1-2], 0x11223344 + ldxsw %r2, [%r1+0x7eef] + ldxsh %r2, [%r1+0x7eef] + ldxsb %r2, [%r1+0x7eef] + ldxsdw %r2, [%r1+0x7eef] + ldxdw %r2, [%r1+0] + ldindw %r3, 0 diff --git a/gas/testsuite/gas/i386/avx512f-nondef.d b/gas/testsuite/gas/i386/avx512f-nondef.d index a062fe3..6aae6a5 100644 --- a/gas/testsuite/gas/i386/avx512f-nondef.d +++ b/gas/testsuite/gas/i386/avx512f-nondef.d @@ -15,10 +15,14 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 62 f2 55 1f 3b f4 vpminud \{rn-bad\},%zmm4,%zmm5,%zmm6\{%k7\} [ ]*[a-f0-9]+: 62 f2 7e 48 31 72 7f vpmovdb %zmm6,0x7f0\(%edx\) [ ]*[a-f0-9]+: 62 f2 7e 58 31 72 7f vpmovdb %zmm6,0x7f0\(%edx\)\{bad\} -[ ]*[a-f0-9]+: 62 f1 7c 88 58 \(bad\) -[ ]*[a-f0-9]+: c3 ret +[ ]*[a-f0-9]+: 62 f1 7c 88 58 c3 (\{evex\} )?vaddps %xmm3,%xmm0,%xmm0\{bad\} [ ]*[a-f0-9]+: 62 f2 7d 4f 92 01 vgatherdps \(bad\),%zmm0\{%k7\} [ ]*[a-f0-9]+: 67 62 f2 7d 4f 92 01 addr16 vgatherdps \(bad\),%zmm0\{%k7\} [ ]*[a-f0-9]+: 62 f2 7d cf 92 04 08 vgatherdps \(%eax,%zmm1(,1)?\),%zmm0\{%k7\}\{z\}/\(bad\) [ ]*[a-f0-9]+: 62 f2 7d 48 92 04 08 vgatherdps \(%eax,%zmm1(,1)?\),%zmm0/\(bad\) +[ ]*[a-f0-9]+: 62 f1 7c cf c2 c0 00 vcmpeqps %zmm0,%zmm0,%k0\{%k7\}\{z\}/\(bad\) +[ ]*[a-f0-9]+: 62 f1 7c cf 29 00 vmovaps %zmm0,\(%eax\)\{%k7\}\{z\}/\(bad\) +[ ]*[a-f0-9]+: 62 f1 7d 0a c5 c8 00 vpextrw \$(0x)?0,%xmm0,%ecx\{%k2\}/\(bad\) +[ ]*[a-f0-9]+: 62 f3 7d 0a 16 01 00 vpextrd \$(0x)?0,%xmm0,\(%ecx\)\{%k2\}/\(bad\) +[ ]*[a-f0-9]+: 62 f2 7d 4a 2a 01 vmovntdqa \(%ecx\),%zmm0\{%k2\}/\(bad\) #pass diff --git a/gas/testsuite/gas/i386/avx512f-nondef.s b/gas/testsuite/gas/i386/avx512f-nondef.s index a117592..3c4cdff 100644 --- a/gas/testsuite/gas/i386/avx512f-nondef.s +++ b/gas/testsuite/gas/i386/avx512f-nondef.s @@ -26,3 +26,18 @@ .insn EVEX.66.0F38.W0 0x92, (%eax,%zmm1), %zmm0{%k7}{z} # vgatherdps (%eax,%zmm1), %zmm0 # without actual mask register .insn EVEX.66.0F38.W0 0x92, (%eax,%zmm1), %zmm0 + + # vcmpeqps %zmm0, %zmm0, %k0{%k7} with EVEX.z set + .insn EVEX.0f 0xc2, $0, %zmm0, %zmm0, %k0{%k7}{z} + + # vmovaps %zmm0, (%eax){%k7} with EVEX.z set + .insn EVEX.0f 0x29, %zmm0, (%eax){%k7}{z} + + # vpextrw $0, %xmm0, %ecx with non-zero EVEX.aaa + .insn EVEX.66.0f 0xc5, $0, %xmm0, %ecx{%k2} + + # vpextrd $0, %xmm0, (%ecx) with non-zero EVEX.aaa + .insn EVEX.66.0f3a 0x16, $0, %xmm0, (%ecx){%k2} + + # vmovntdqa (%ecx), %zmm0 with non-zero EVEX.aaa + .insn EVEX.66.0f38.W0 0x2a, (%ecx), %zmm0{%k2} diff --git a/gas/testsuite/gas/i386/disassem.d b/gas/testsuite/gas/i386/disassem.d index 7e414a5..eae69db 100644 --- a/gas/testsuite/gas/i386/disassem.d +++ b/gas/testsuite/gas/i386/disassem.d @@ -8,309 +8,309 @@ Disassembly of section \.text: 0+ <\.text>: -[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*ff[ ]+ljmp[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) -[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%eax\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%ecx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]+pop[ ]+%es +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait @@ -318,23 +318,23 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%esi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*aas [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait @@ -345,6 +345,12 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*c4 e2 01 1c[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*41[ ]*inc[ ]*%ecx [ ]*[a-f0-9]+:[ ]*37[ ]*aaa +[ ]*[a-f0-9]+:[ ]*c4 e2 7f cc[ ]+vsha512msg1[ ]*\(bad\),.* +[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* +[ ]*[a-f0-9]+:[ ]*c4 e2 7f cd[ ]+vsha512msg2[ ]*\(bad\),.* +[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* +[ ]*[a-f0-9]+:[ ]*c4 e2 6f cb[ ]+vsha512rnds2[ ]*\(bad\),.* +[ ]*[a-f0-9]+:[ ]*71 20[ ]+jno.* [ ]*[a-f0-9]+:[ ]*62 f2 ad 08 1c[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*01 01[ ]*add[ ]*%eax,\(%ecx\) [ ]*[a-f0-9]+:[ ]*62 f3 7d 28 1b[ ]*\(bad\) diff --git a/gas/testsuite/gas/i386/disassem.s b/gas/testsuite/gas/i386/disassem.s index 7c09fad..0fb0dd4 100644 --- a/gas/testsuite/gas/i386/disassem.s +++ b/gas/testsuite/gas/i386/disassem.s @@ -119,30 +119,30 @@ .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F .insn VEX.L0.66.0f.W1 0x99, (%edi), %k7 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 .byte 0xC5, 0xF8, 0x92, 0x9B .byte 0xC5, 0xF8, 0x92, 0x6F .insn VEX.L0.NP.0f.W0 0x92, (%edi), %k7 @@ -168,6 +168,9 @@ .byte 0xC4, 0xE1, 0xF9, 0x93, 0x6F .insn VEX.L0.66.0f.W1 0x93, (%edi), %k7 .byte 0xc4, 0xe2, 0x1, 0x1c, 0x41, 0x37 + .insn VEX.L1.F2.0f38.W0 0xCC, 32(%ecx), %ymm6 + .insn VEX.L1.F2.0f38.W0 0xCD, 32(%ecx), %ymm6 + .insn VEX.L1.F2.0f38.W0 0xCB, 32(%ecx), %ymm2, %ymm6 .byte 0x62, 0xf2, 0xad, 0x08, 0x1c, 0x01 .byte 0x1 .insn EVEX.66.0f3a.W0 0x1b, $0x25, %ymm0, %xmm1 diff --git a/gas/testsuite/gas/i386/i386-intel.d b/gas/testsuite/gas/i386/i386-intel.d index a65c12e..12c0500 100644 --- a/gas/testsuite/gas/i386/i386-intel.d +++ b/gas/testsuite/gas/i386/i386-intel.d @@ -62,45 +62,45 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f b6 00 movzx eax,BYTE PTR \[eax\] [ ]*[a-f0-9]+: 0f b7 00 movzx eax,WORD PTR \[eax\] [ ]*[a-f0-9]+: 0f c3 00 movnti DWORD PTR \[eax\],eax -[ ]*[a-f0-9]+: 63 ca arpl dx,cx -[ ]*[a-f0-9]+: 63 ca arpl dx,cx -[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],cx -[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],cx +[ ]*[a-f0-9]+: 63 ca arpl edx,ecx +[ ]*[a-f0-9]+: 63 ca arpl edx,ecx +[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],ecx +[ ]*[a-f0-9]+: 63 0a arpl (WORD PTR )?\[edx\],ecx [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[edx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[edx\] -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[edx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[edx\] -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] -[ ]*[a-f0-9]+: 63 d1 arpl cx,dx -[ ]*[a-f0-9]+: 63 d1 arpl cx,dx -[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx -[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx -[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx -[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],dx +[ ]*[a-f0-9]+: 63 d1 arpl ecx,edx +[ ]*[a-f0-9]+: 63 d1 arpl ecx,edx +[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx +[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx +[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx +[ ]*[a-f0-9]+: 63 11 arpl (WORD PTR )?\[ecx],edx [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[edx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[edx\] -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx @@ -108,16 +108,16 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[edx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[edx\] -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[edx\] -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[edx\] -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[edx\] #pass diff --git a/gas/testsuite/gas/i386/i386.d b/gas/testsuite/gas/i386/i386.d index 54e19e8..a77d9f4 100644 --- a/gas/testsuite/gas/i386/i386.d +++ b/gas/testsuite/gas/i386/i386.d @@ -61,45 +61,45 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f b6 00 movzbl \(%eax\),%eax [ ]*[a-f0-9]+: 0f b7 00 movzwl \(%eax\),%eax [ ]*[a-f0-9]+: 0f c3 00 movnti %eax,\(%eax\) -[ ]*[a-f0-9]+: 63 ca arpl %cx,%dx -[ ]*[a-f0-9]+: 63 ca arpl %cx,%dx -[ ]*[a-f0-9]+: 63 0a arpl %cx,\(%edx\) -[ ]*[a-f0-9]+: 63 0a arpl %cx,\(%edx\) +[ ]*[a-f0-9]+: 63 ca arpl %ecx,%edx +[ ]*[a-f0-9]+: 63 ca arpl %ecx,%edx +[ ]*[a-f0-9]+: 63 0a arpl %ecx,\(%edx\) +[ ]*[a-f0-9]+: 63 0a arpl %ecx,\(%edx\) [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%edx\),%dx [ ]*[a-f0-9]+: 0f 02 12 lar \(%edx\),%edx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%edx\),%dx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%edx\),%edx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) -[ ]*[a-f0-9]+: 63 d1 arpl %dx,%cx -[ ]*[a-f0-9]+: 63 d1 arpl %dx,%cx -[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) -[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) -[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) -[ ]*[a-f0-9]+: 63 11 arpl %dx,\(%ecx\) +[ ]*[a-f0-9]+: 63 d1 arpl %edx,%ecx +[ ]*[a-f0-9]+: 63 d1 arpl %edx,%ecx +[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) +[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) +[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) +[ ]*[a-f0-9]+: 63 11 arpl %edx,\(%ecx\) [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%edx\),%dx [ ]*[a-f0-9]+: 0f 02 12 lar \(%edx\),%edx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) [ ]*[a-f0-9]+: 0f 00 12 lldt \(%edx\) [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx @@ -107,16 +107,16 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%edx\),%dx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%edx\),%edx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) [ ]*[a-f0-9]+: 0f 00 1a ltr \(%edx\) -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) [ ]*[a-f0-9]+: 0f 00 22 verr \(%edx\) -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) [ ]*[a-f0-9]+: 0f 00 2a verw \(%edx\) #pass diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index d78f193..90819d8 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -496,6 +496,16 @@ if [gas_32_check] then { run_dump_test "raoint" run_dump_test "raoint-intel" run_list_test "amx-complex-inval" + run_dump_test "avx-vnni-int16" + run_dump_test "avx-vnni-int16-intel" + run_dump_test "sha512" + run_dump_test "sha512-intel" + run_list_test "sha512-inval" + run_dump_test "sm3" + run_dump_test "sm3-intel" + run_dump_test "sm4" + run_dump_test "sm4-intel" + run_list_test "pbndkb-inval" run_list_test "sg" run_dump_test "clzero" run_dump_test "invlpgb" diff --git a/gas/testsuite/gas/i386/intel-intel.d b/gas/testsuite/gas/i386/intel-intel.d index 73fbdf8..4e96969 100644 --- a/gas/testsuite/gas/i386/intel-intel.d +++ b/gas/testsuite/gas/i386/intel-intel.d @@ -103,7 +103,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 60 + pusha [ ]*[a-f0-9]+: 61 + popa [ ]*[a-f0-9]+: 62 90 90 90 90 90 + bound edx,QWORD PTR \[eax-0x6f6f6f70\] -[ ]*[a-f0-9]+: 63 90 90 90 90 90 + arpl WORD PTR \[eax-0x6f6f6f70\],dx +[ ]*[a-f0-9]+: 63 90 90 90 90 90 + arpl WORD PTR \[eax-0x6f6f6f70\],edx [ ]*[a-f0-9]+: 68 90 90 90 90 + push 0x90909090 [ ]*[a-f0-9]+: 69 90 90 90 90 90 90 90 90 90 imul edx,DWORD PTR \[eax-0x6f6f6f70\],0x90909090 [ ]*[a-f0-9]+: 6a 90 + push 0xffffff90 diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d index 374f875..bc21289 100644 --- a/gas/testsuite/gas/i386/intel.d +++ b/gas/testsuite/gas/i386/intel.d @@ -102,7 +102,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 60 [ ]*pusha [ ]*[a-f0-9]+: 61 [ ]*popa [ ]*[a-f0-9]+: 62 90 90 90 90 90 [ ]*bound %edx,-0x6f6f6f70\(%eax\) -[ ]*[a-f0-9]+: 63 90 90 90 90 90 [ ]*arpl %dx,-0x6f6f6f70\(%eax\) +[ ]*[a-f0-9]+: 63 90 90 90 90 90 [ ]*arpl %edx,-0x6f6f6f70\(%eax\) [ ]*[a-f0-9]+: 68 90 90 90 90 [ ]*push \$0x90909090 [ ]*[a-f0-9]+: 69 90 90 90 90 90 90 90 90 90 [ ]*imul \$0x90909090,-0x6f6f6f70\(%eax\),%edx [ ]*[a-f0-9]+: 6a 90 [ ]*push \$0xffffff90 diff --git a/gas/testsuite/gas/i386/opcode-intel.d b/gas/testsuite/gas/i386/opcode-intel.d index 7f641db..c3c920f 100644 --- a/gas/testsuite/gas/i386/opcode-intel.d +++ b/gas/testsuite/gas/i386/opcode-intel.d @@ -102,7 +102,7 @@ Disassembly of section .text: *[0-9a-f]+: 60[ ]+pusha *[0-9a-f]+: 61[ ]+popa *[0-9a-f]+: 62 90 90 90 90 90[ ]+bound[ ]+edx,(QWORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx + *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],edx *[0-9a-f]+: 68 90 90 90 90[ ]+push[ ]+0x90909090 *[0-9a-f]+: 69 90 90 90 90 90 90 90 90 90[ ]+imul[ ]+edx,(DWORD PTR )?\[eax-0x6f6f6f70\],0x90909090 *[0-9a-f]+: 6a 90[ ]+push[ ]+0xffffff90 diff --git a/gas/testsuite/gas/i386/opcode-suffix.d b/gas/testsuite/gas/i386/opcode-suffix.d index 152c3b8..946a0a4 100644 --- a/gas/testsuite/gas/i386/opcode-suffix.d +++ b/gas/testsuite/gas/i386/opcode-suffix.d @@ -102,7 +102,7 @@ Disassembly of section .text: *[0-9a-f]+: 60[ ]+pushal *[0-9a-f]+: 61[ ]+popal *[0-9a-f]+: 62 90 90 90 90 90[ ]+boundl %edx,-0x6f6f6f70\(%eax\) - *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpl[ ]+%dx,-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 63 90 90 90 90 90[ ]+arpll[ ]+%edx,-0x6f6f6f70\(%eax\) *[0-9a-f]+: 68 90 90 90 90[ ]+pushl[ ]+\$0x90909090 *[0-9a-f]+: 69 90 90 90 90 90 90 90 90 90[ ]+imull[ ]+\$0x90909090,-0x6f6f6f70\(%eax\),%edx *[0-9a-f]+: 6a 90[ ]+pushl[ ]+\$0xffffff90 @@ -248,7 +248,7 @@ Disassembly of section .text: *[0-9a-f]+: fc[ ]+cld *[0-9a-f]+: fd[ ]+std *[0-9a-f]+: ff 90 90 90 90 90[ ]+calll[ ]+\*-0x6f6f6f70\(%eax\) - *[0-9a-f]+: 0f 00 90 90 90 90 90[ ]+lldt[ ]+-0x6f6f6f70\(%eax\) + *[0-9a-f]+: 0f 00 90 90 90 90 90[ ]+lldtw[ ]+-0x6f6f6f70\(%eax\) *[0-9a-f]+: 0f 01 90 90 90 90 90[ ]+lgdtl[ ]+-0x6f6f6f70\(%eax\) *[0-9a-f]+: 0f 02 90 90 90 90 90[ ]+larl[ ]+-0x6f6f6f70\(%eax\),%edx *[0-9a-f]+: 0f 03 90 90 90 90 90[ ]+lsll[ ]+-0x6f6f6f70\(%eax\),%edx diff --git a/gas/testsuite/gas/i386/opcode.d b/gas/testsuite/gas/i386/opcode.d index c6ffb01..7631195 100644 --- a/gas/testsuite/gas/i386/opcode.d +++ b/gas/testsuite/gas/i386/opcode.d @@ -101,7 +101,7 @@ Disassembly of section .text: 123: 60 [ ]*pusha 124: 61 [ ]*popa 125: 62 90 90 90 90 90 [ ]*bound %edx,-0x6f6f6f70\(%eax\) - 12b: 63 90 90 90 90 90 [ ]*arpl %dx,-0x6f6f6f70\(%eax\) + 12b: 63 90 90 90 90 90 [ ]*arpl %edx,-0x6f6f6f70\(%eax\) 131: 68 90 90 90 90 [ ]*push \$0x90909090 136: 69 90 90 90 90 90 90 90 90 90 [ ]*imul \$0x90909090,-0x6f6f6f70\(%eax\),%edx 140: 6a 90 [ ]*push \$0xffffff90 diff --git a/gas/testsuite/gas/i386/optimize-1.d b/gas/testsuite/gas/i386/optimize-1.d index f6c54b7..23d715c 100644 --- a/gas/testsuite/gas/i386/optimize-1.d +++ b/gas/testsuite/gas/i386/optimize-1.d @@ -147,6 +147,21 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax diff --git a/gas/testsuite/gas/i386/optimize-1.s b/gas/testsuite/gas/i386/optimize-1.s index 53a0dd7..e253142 100644 --- a/gas/testsuite/gas/i386/optimize-1.s +++ b/gas/testsuite/gas/i386/optimize-1.s @@ -171,6 +171,25 @@ _start: vpxord 128(%eax), %ymm2, %ymm3 vpxorq 128(%eax), %ymm2, %ymm3 + pcmpgtb %mm2, %mm2 + pcmpgtb %xmm2, %xmm2 + vpcmpgtb %xmm2, %xmm2, %xmm0 + vpcmpgtb %ymm2, %ymm2, %ymm0 + + pcmpgtw %mm2, %mm2 + pcmpgtw %xmm2, %xmm2 + vpcmpgtw %xmm2, %xmm2, %xmm0 + vpcmpgtw %ymm2, %ymm2, %ymm0 + + pcmpgtd %mm2, %mm2 + pcmpgtd %xmm2, %xmm2 + vpcmpgtd %xmm2, %xmm2, %xmm0 + vpcmpgtd %ymm2, %ymm2, %ymm0 + + pcmpgtq %xmm2, %xmm2 + vpcmpgtq %xmm2, %xmm2, %xmm0 + vpcmpgtq %ymm2, %ymm2, %ymm0 + bt $15, %ax bt $16, %ax btc $15, %ax diff --git a/gas/testsuite/gas/i386/optimize-1a.d b/gas/testsuite/gas/i386/optimize-1a.d index d0bf1b4..33c647b 100644 --- a/gas/testsuite/gas/i386/optimize-1a.d +++ b/gas/testsuite/gas/i386/optimize-1a.d @@ -148,6 +148,21 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax diff --git a/gas/testsuite/gas/i386/optimize-2.d b/gas/testsuite/gas/i386/optimize-2.d index 571059e..41056fb 100644 --- a/gas/testsuite/gas/i386/optimize-2.d +++ b/gas/testsuite/gas/i386/optimize-2.d @@ -161,4 +161,8 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq \(%eax\)\{1to2\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxord \(%eax\)\{1to4\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxorq \(%eax\)\{1to4\},%ymm2,%ymm3 + +[a-f0-9]+: 66 .* pcmpeqd %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpcmpeqd %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpcmpeqd %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: c5 .* vpunpcklqdq %xmm2,%xmm2,%xmm0 #pass diff --git a/gas/testsuite/gas/i386/optimize-2.s b/gas/testsuite/gas/i386/optimize-2.s index 43af945..29399ae 100644 --- a/gas/testsuite/gas/i386/optimize-2.s +++ b/gas/testsuite/gas/i386/optimize-2.s @@ -180,3 +180,9 @@ _start: vporq (%eax){1to2}, %xmm2, %xmm3 vpxord (%eax){1to4}, %xmm2, %xmm3 vpxorq (%eax){1to4}, %ymm2, %ymm3 + + pcmpeqq %xmm2, %xmm2 + vpcmpeqq %xmm2, %xmm2, %xmm0 + vpcmpeqq %ymm2, %ymm2, %ymm0 + + vpbroadcastq %xmm2, %xmm0 diff --git a/gas/testsuite/gas/i386/optimize-2b.d b/gas/testsuite/gas/i386/optimize-2b.d index 5863688..d9e8319 100644 --- a/gas/testsuite/gas/i386/optimize-2b.d +++ b/gas/testsuite/gas/i386/optimize-2b.d @@ -162,4 +162,8 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq \(%eax\)\{1to2\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxord \(%eax\)\{1to4\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxorq \(%eax\)\{1to4\},%ymm2,%ymm3 + +[a-f0-9]+: 66 .* pcmpeqq %xmm2,%xmm2 + +[a-f0-9]+: c4 .* vpcmpeqq %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c4 .* vpcmpeqq %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: c4 .* vpbroadcastq %xmm2,%xmm0 #pass diff --git a/gas/testsuite/gas/i386/optimize-4.d b/gas/testsuite/gas/i386/optimize-4.d index 092d078..fa9b95f 100644 --- a/gas/testsuite/gas/i386/optimize-4.d +++ b/gas/testsuite/gas/i386/optimize-4.d @@ -147,6 +147,21 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax diff --git a/gas/testsuite/gas/i386/optimize-5.d b/gas/testsuite/gas/i386/optimize-5.d index 1d1397b..36d0ba9 100644 --- a/gas/testsuite/gas/i386/optimize-5.d +++ b/gas/testsuite/gas/i386/optimize-5.d @@ -147,6 +147,21 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%eax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%eax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpxor %ymm2,%ymm2,%ymm0 +[a-f0-9]+: 0f ba e0 0f bt \$0xf,%eax +[a-f0-9]+: 66 0f ba e0 10 bt \$0x10,%ax +[a-f0-9]+: 0f ba f8 0f btc \$0xf,%eax diff --git a/gas/testsuite/gas/i386/x86-64-disassem.d b/gas/testsuite/gas/i386/x86-64-disassem.d index 6e4dd91..2de30e2 100644 --- a/gas/testsuite/gas/i386/x86-64-disassem.d +++ b/gas/testsuite/gas/i386/x86-64-disassem.d @@ -8,309 +8,309 @@ Disassembly of section \.text: 0+ <\.text>: -[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*ff[ ]+ljmp[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*ef[ ]*out %eax,\(%dx\) -[ ]*[a-f0-9]+:[ ]*ff[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*ff[ ]+lcall[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*d8 90 90 90 90 90[ ]*fcoms -0x6f6f6f70\(%rax\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4a[ ]+kaddw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4a[ ]+kaddb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4a[ ]+kaddq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 4a[ ]+kaddd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 41[ ]+kandw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 41[ ]+kandb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 41[ ]+kandq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 41[ ]+kandd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 42[ ]+kandnw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 42[ ]+kandnb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 42[ ]+kandnq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 42[ ]+kandnd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 4b[ ]+kunpckwd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 4b[ ]+kunpckbw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 4b[ ]+kunpckdq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 44[ ]+knotw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 44[ ]+knotb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 44[ ]+knotq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 44[ ]+knotd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 45[ ]+korw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 45[ ]+korb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 45[ ]+korq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 45[ ]+kord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 98[ ]+kortestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 98[ ]+kortestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 98[ ]+kortestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 98[ ]+kortestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 46[ ]+kxnorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 46[ ]+kxnorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 46[ ]+kxnorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 46[ ]+kxnord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ec 47[ ]+kxorw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 ed 47[ ]+kxorb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ec 47[ ]+kxorq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 ed 47[ ]+kxord[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 99[ ]+ktestw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 99[ ]+ktestb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f8 99[ ]+ktestq[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e1 f9 99[ ]+ktestd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 30[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 31[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 32[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*8f 01[ ]*pop \(%rcx\) -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*6a 01[ ]*push \$0x1 -[ ]*[a-f0-9]+:[ ]*c4 e3 79 33[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*04 01[ ]*add \$0x1,%al -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 8f[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 6a[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 30 04[ ]+kshiftrw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 8f[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 6a[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 30 04[ ]+kshiftrb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 8f[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 6a[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 31 04[ ]+kshiftrq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 8f[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 6a[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 31 04[ ]+kshiftrd[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 8f[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 6a[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 32 04[ ]+kshiftlw[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 8f[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 6a[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 32 04[ ]+kshiftlb[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 8f[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 6a[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 f9 33 04[ ]+kshiftlq[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 8f[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 6a[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c4 e3 79 33 04[ ]+kshiftld[ ]*\$0x[0-9a-f]*,\(bad\),.* +[ ]*[a-f0-9]+:[ ]*07[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 92[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 92[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 92[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait @@ -318,23 +318,23 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 92[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f8 93[ ]+kmovw[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 f9 93[ ]+kmovb[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*6f[ ]*outsl %ds:\(%rsi\),\(%dx\) -[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]*\(bad\) +[ ]*[a-f0-9]+:[ ]*c5 fb 93[ ]+kmovd[ ]*\(bad\),.* [ ]*[a-f0-9]+:[ ]*3f[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*c4 e1 f9 93[ ]*\(bad\) [ ]*[a-f0-9]+:[ ]*9b[ ]*fwait diff --git a/gas/testsuite/gas/i386/x86-64-disassem.s b/gas/testsuite/gas/i386/x86-64-disassem.s index ff04904..4f151bf 100644 --- a/gas/testsuite/gas/i386/x86-64-disassem.s +++ b/gas/testsuite/gas/i386/x86-64-disassem.s @@ -119,30 +119,30 @@ .byte 0xC4, 0xE1, 0xF9, 0x99, 0x9B .byte 0xC4, 0xE1, 0xF9, 0x99, 0x6F .insn VEX.L0.66.0f.W1 0x99, (%rdi), %k7 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x01 -.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x01 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x30, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x31, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x32, 0x04, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0xF9, 0x33, 0x04, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x8F, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x6A, 0x07 +.byte 0xC4, 0xE3, 0x79, 0x33, 0x04, 0x07 .byte 0xC5, 0xF8, 0x92, 0x9B .byte 0xC5, 0xF8, 0x92, 0x6F .insn VEX.L0.NP.0f.W0 0x92, (%rdi), %k7 diff --git a/gas/testsuite/gas/i386/x86-64-lkgs-intel.d b/gas/testsuite/gas/i386/x86-64-lkgs-intel.d index 0f4a6fb..b981ad5 100644 --- a/gas/testsuite/gas/i386/x86-64-lkgs-intel.d +++ b/gas/testsuite/gas/i386/x86-64-lkgs-intel.d @@ -8,16 +8,16 @@ Disassembly of section \.text: 0+ <_start>: -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs WORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs WORD PTR \[r9\] \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs WORD PTR \[rcx\+0xfe\] \s*[a-f0-9]+:\s*f2 0f 00 b2 00 ff ff ff\s+lkgs WORD PTR \[rdx-0x100\] -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12w +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs r12d \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs WORD PTR \[rbp\+r14\*8\+0x10000000\] \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs WORD PTR \[r9\] \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs WORD PTR \[rcx\+0xfe\] diff --git a/gas/testsuite/gas/i386/x86-64-lkgs.d b/gas/testsuite/gas/i386/x86-64-lkgs.d index 207143d..60af3c4 100644 --- a/gas/testsuite/gas/i386/x86-64-lkgs.d +++ b/gas/testsuite/gas/i386/x86-64-lkgs.d @@ -8,16 +8,16 @@ Disassembly of section \.text: 0+ <_start>: -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs 0x10000000\(%rbp,%r14,8\) \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs \(%r9\) \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs 0xfe\(%rcx\) \s*[a-f0-9]+:\s*f2 0f 00 b2 00 ff ff ff\s+lkgs -0x100\(%rdx\) -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w -\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12w +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d +\s*[a-f0-9]+:\s*f2 41 0f 00 f4\s+lkgs %r12d \s*[a-f0-9]+:\s*f2 42 0f 00 b4 f5 00 00 00 10\s+lkgs 0x10000000\(%rbp,%r14,8\) \s*[a-f0-9]+:\s*f2 41 0f 00 31\s+lkgs \(%r9\) \s*[a-f0-9]+:\s*f2 0f 00 b1 fe 00 00 00\s+lkgs 0xfe\(%rcx\) diff --git a/gas/testsuite/gas/i386/x86-64-optimize-2.d b/gas/testsuite/gas/i386/x86-64-optimize-2.d index cb6b815..87bf3ed 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-2.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-2.d @@ -203,4 +203,23 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 #pass diff --git a/gas/testsuite/gas/i386/x86-64-optimize-2.s b/gas/testsuite/gas/i386/x86-64-optimize-2.s index 22dbd1c..3d16a78 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-2.s +++ b/gas/testsuite/gas/i386/x86-64-optimize-2.s @@ -226,3 +226,26 @@ _start: vporq 128(%rax), %ymm2, %ymm3 vpxord 128(%rax), %ymm2, %ymm3 vpxorq 128(%rax), %ymm2, %ymm3 + + pcmpgtb %mm2, %mm2 + pcmpgtb %xmm2, %xmm2 + pcmpgtb %xmm12, %xmm12 + vpcmpgtb %xmm2, %xmm2, %xmm8 + vpcmpgtb %ymm12, %ymm12, %ymm1 + + pcmpgtw %mm2, %mm2 + pcmpgtw %xmm2, %xmm2 + pcmpgtw %xmm12, %xmm12 + vpcmpgtw %xmm2, %xmm2, %xmm8 + vpcmpgtw %ymm12, %ymm12, %ymm1 + + pcmpgtd %mm2, %mm2 + pcmpgtd %xmm2, %xmm2 + pcmpgtd %xmm12, %xmm12 + vpcmpgtd %xmm2, %xmm2, %xmm8 + vpcmpgtd %ymm12, %ymm12, %ymm1 + + pcmpgtq %xmm2, %xmm2 + pcmpgtq %xmm12, %xmm12 + vpcmpgtq %xmm2, %xmm2, %xmm8 + vpcmpgtq %ymm12, %ymm12, %ymm1 diff --git a/gas/testsuite/gas/i386/x86-64-optimize-2a.d b/gas/testsuite/gas/i386/x86-64-optimize-2a.d index 70a8ff3..f12507b 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-2a.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-2a.d @@ -204,4 +204,23 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 #pass diff --git a/gas/testsuite/gas/i386/x86-64-optimize-2b.d b/gas/testsuite/gas/i386/x86-64-optimize-2b.d index 1d81569..e572491 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-2b.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-2b.d @@ -203,4 +203,23 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 #pass diff --git a/gas/testsuite/gas/i386/x86-64-optimize-3.d b/gas/testsuite/gas/i386/x86-64-optimize-3.d index 26122dd..23b9305 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-3.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-3.d @@ -199,4 +199,12 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq \(%rax\)\{1to2\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxord \(%rax\)\{1to4\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxorq \(%rax\)\{1to4\},%ymm2,%ymm3 + +[a-f0-9]+: 66 .* pcmpeqd %xmm2,%xmm2 + +[a-f0-9]+: c5 .* vpcmpeqd %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c5 .* vpcmpeqd %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pcmpeqd %xmm12,%xmm12 + +[a-f0-9]+: c4 .* vpcmpeqq %xmm12,%xmm12,%xmm0 + +[a-f0-9]+: c4 .* vpcmpeqq %ymm12,%ymm12,%ymm0 + +[a-f0-9]+: c5 .* vpunpcklqdq %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c4 .* vpbroadcastq %xmm12,%xmm0 #pass diff --git a/gas/testsuite/gas/i386/x86-64-optimize-3.s b/gas/testsuite/gas/i386/x86-64-optimize-3.s index cbfed3b..bab99cf 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-3.s +++ b/gas/testsuite/gas/i386/x86-64-optimize-3.s @@ -221,3 +221,14 @@ _start: vporq (%rax){1to2}, %xmm2, %xmm3 vpxord (%rax){1to4}, %xmm2, %xmm3 vpxorq (%rax){1to4}, %ymm2, %ymm3 + + pcmpeqq %xmm2, %xmm2 + vpcmpeqq %xmm2, %xmm2, %xmm0 + vpcmpeqq %ymm2, %ymm2, %ymm0 + + pcmpeqq %xmm12, %xmm12 + vpcmpeqq %xmm12, %xmm12, %xmm0 + vpcmpeqq %ymm12, %ymm12, %ymm0 + + vpbroadcastq %xmm2, %xmm0 + vpbroadcastq %xmm12, %xmm0 diff --git a/gas/testsuite/gas/i386/x86-64-optimize-3b.d b/gas/testsuite/gas/i386/x86-64-optimize-3b.d index 00b65f3..929c6f7 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-3b.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-3b.d @@ -200,4 +200,12 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq \(%rax\)\{1to2\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxord \(%rax\)\{1to4\},%xmm2,%xmm3 +[a-f0-9]+: 62 .* vpxorq \(%rax\)\{1to4\},%ymm2,%ymm3 + +[a-f0-9]+: 66 .* pcmpeqq %xmm2,%xmm2 + +[a-f0-9]+: c4 .* vpcmpeqq %xmm2,%xmm2,%xmm0 + +[a-f0-9]+: c4 .* vpcmpeqq %ymm2,%ymm2,%ymm0 + +[a-f0-9]+: 66 .* pcmpeqq %xmm12,%xmm12 + +[a-f0-9]+: c4 .* vpcmpeqq %xmm12,%xmm12,%xmm0 + +[a-f0-9]+: c4 .* vpcmpeqq %ymm12,%ymm12,%ymm0 + +[a-f0-9]+: c4 .* vpbroadcastq %xmm2,%xmm0 + +[a-f0-9]+: c4 .* vpbroadcastq %xmm12,%xmm0 #pass diff --git a/gas/testsuite/gas/i386/x86-64-optimize-5.d b/gas/testsuite/gas/i386/x86-64-optimize-5.d index 9fd0ec2..5b272aa 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-5.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-5.d @@ -203,6 +203,25 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 diff --git a/gas/testsuite/gas/i386/x86-64-optimize-6.d b/gas/testsuite/gas/i386/x86-64-optimize-6.d index 6cacaf9..48105c3 100644 --- a/gas/testsuite/gas/i386/x86-64-optimize-6.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-6.d @@ -203,6 +203,25 @@ Disassembly of section .text: +[a-f0-9]+: 62 .* vporq 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxord 0x80\(%rax\),%ymm2,%ymm3 +[a-f0-9]+: 62 .* vpxorq 0x80\(%rax\),%ymm2,%ymm3 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 0f .* pxor %mm2,%mm2 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 + +[a-f0-9]+: 66 .* pxor %xmm2,%xmm2 + +[a-f0-9]+: 66 .* pxor %xmm12,%xmm12 + +[a-f0-9]+: c5 .* vpxor %xmm2,%xmm2,%xmm8 + +[a-f0-9]+: c5 .* vpxor %ymm0,%ymm0,%ymm1 +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: 62 f1 f5 08 55 e9 \{evex\} vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp index 48ec9c2..52711cd 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -437,7 +437,19 @@ run_dump_test "x86-64-amx-complex-bad" run_list_test "x86-64-amx-complex-inval" run_dump_test "x86-64-fred" run_dump_test "x86-64-lkgs" +run_dump_test "x86-64-lkgs-intel" run_list_test "x86-64-lkgs-inval" +run_dump_test "x86-64-avx-vnni-int16" +run_dump_test "x86-64-avx-vnni-int16-intel" +run_dump_test "x86-64-sha512" +run_dump_test "x86-64-sha512-intel" +run_list_test "x86-64-sha512-inval" +run_dump_test "x86-64-sm3" +run_dump_test "x86-64-sm3-intel" +run_dump_test "x86-64-sm4" +run_dump_test "x86-64-sm4-intel" +run_dump_test "x86-64-pbndkb" +run_dump_test "x86-64-pbndkb-intel" run_dump_test "x86-64-clzero" run_dump_test "x86-64-mwaitx-bdver4" run_list_test "x86-64-mwaitx-reg" @@ -520,6 +532,7 @@ run_dump_test "x86-64-optimize-1" run_dump_test "x86-64-optimize-2" run_dump_test "x86-64-optimize-2a" run_dump_test "x86-64-optimize-2b" +run_dump_test "x86-64-optimize-2c" run_dump_test "x86-64-optimize-3" run_dump_test "x86-64-optimize-3b" run_dump_test "x86-64-optimize-4" diff --git a/gas/testsuite/gas/i386/x86_64-intel.d b/gas/testsuite/gas/i386/x86_64-intel.d index 6b74ae6..2a9b7d4 100644 --- a/gas/testsuite/gas/i386/x86_64-intel.d +++ b/gas/testsuite/gas/i386/x86_64-intel.d @@ -266,9 +266,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx [ ]*[a-f0-9]+: 0f 03 d2 lsl edx,edx @@ -278,17 +278,17 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 66 0f 02 d2 lar dx,dx [ ]*[a-f0-9]+: 0f 02 d2 lar edx,edx @@ -298,9 +298,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 02 12 lar dx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 02 12 lar edx,WORD PTR \[rdx\] -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt edx [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 0f 00 12 lldt (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 66 0f 03 d2 lsl dx,dx @@ -311,19 +311,19 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 03 12 lsl dx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] [ ]*[a-f0-9]+: 0f 03 12 lsl edx,WORD PTR \[rdx\] -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx -[ ]*[a-f0-9]+: 0f 00 da ltr dx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx +[ ]*[a-f0-9]+: 0f 00 da ltr edx [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 0f 00 1a ltr (WORD PTR )?\[rdx\] -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx -[ ]*[a-f0-9]+: 0f 00 e2 verr dx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx +[ ]*[a-f0-9]+: 0f 00 e2 verr edx [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 0f 00 22 verr (WORD PTR )?\[rdx\] -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx -[ ]*[a-f0-9]+: 0f 00 ea verw dx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx +[ ]*[a-f0-9]+: 0f 00 ea verw edx [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] [ ]*[a-f0-9]+: 0f 00 2a verw (WORD PTR )?\[rdx\] #pass diff --git a/gas/testsuite/gas/i386/x86_64.d b/gas/testsuite/gas/i386/x86_64.d index cdfe12e..aa38661 100644 --- a/gas/testsuite/gas/i386/x86_64.d +++ b/gas/testsuite/gas/i386/x86_64.d @@ -266,9 +266,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%rdx\),%dx [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx [ ]*[a-f0-9]+: 0f 03 d2 lsl %edx,%edx @@ -278,17 +278,17 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%rdx\),%dx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) [ ]*[a-f0-9]+: 66 0f 02 d2 lar %dx,%dx [ ]*[a-f0-9]+: 0f 02 d2 lar %edx,%edx @@ -298,9 +298,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 02 12 lar \(%rdx\),%dx [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx [ ]*[a-f0-9]+: 0f 02 12 lar \(%rdx\),%edx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx -[ ]*[a-f0-9]+: 0f 00 d2 lldt %dx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx +[ ]*[a-f0-9]+: 0f 00 d2 lldt %edx [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) [ ]*[a-f0-9]+: 0f 00 12 lldt \(%rdx\) [ ]*[a-f0-9]+: 66 0f 03 d2 lsl %dx,%dx @@ -311,19 +311,19 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 03 12 lsl \(%rdx\),%dx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx [ ]*[a-f0-9]+: 0f 03 12 lsl \(%rdx\),%edx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx -[ ]*[a-f0-9]+: 0f 00 da ltr %dx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx +[ ]*[a-f0-9]+: 0f 00 da ltr %edx [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) [ ]*[a-f0-9]+: 0f 00 1a ltr \(%rdx\) -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx -[ ]*[a-f0-9]+: 0f 00 e2 verr %dx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx +[ ]*[a-f0-9]+: 0f 00 e2 verr %edx [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) [ ]*[a-f0-9]+: 0f 00 22 verr \(%rdx\) -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx -[ ]*[a-f0-9]+: 0f 00 ea verw %dx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx +[ ]*[a-f0-9]+: 0f 00 ea verw %edx [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) [ ]*[a-f0-9]+: 0f 00 2a verw \(%rdx\) #pass diff --git a/gas/testsuite/gas/ppc/aix.exp b/gas/testsuite/gas/ppc/aix.exp index 55aedc4..76ffb22 100644 --- a/gas/testsuite/gas/ppc/aix.exp +++ b/gas/testsuite/gas/ppc/aix.exp @@ -88,8 +88,15 @@ if { [istarget "powerpc*-*-aix*"] || [istarget "rs6000-*-aix*"] } then { run_dump_test "xcoff-file-32" run_dump_test "xcoff-file-64" - run_dump_test "xcoff-visibility-1-32" - run_dump_test "xcoff-visibility-1-64" + if { [istarget {*-*-aix[6-9]*}] + || [istarget {*-*-aix5.[2-9]*}] } { + # The expected output of these tests depends on AIX_WEAK_SUPPORT. + # Without that weak syms do not have an aux entry and thus + # BFD_NOT_AT_END is not set. I don't know if any of this is + # correct.. + run_dump_test "xcoff-visibility-1-32" + run_dump_test "xcoff-visibility-1-64" + } run_dump_test "xcoff-visibility-2-32" run_dump_test "xcoff-visibility-2-64" } diff --git a/gas/testsuite/gas/s390/esa-reloc.d b/gas/testsuite/gas/s390/esa-reloc.d index c9da928..0b13cb6 100644 --- a/gas/testsuite/gas/s390/esa-reloc.d +++ b/gas/testsuite/gas/s390/esa-reloc.d @@ -23,7 +23,7 @@ Disassembly of section .text: 22: a7 08 00 00 [ ]*lhi %r0,0 [ ]*24: R_390_GOT16 test_R_390_GOT16 26: a7 08 00 00 [ ]*lhi %r0,0 -[ ]*28: R_390_16 test_R_390_PC16\+0x26 +[ ]*28: R_390_PC16 test_R_390_PC16\+0x28 2a: a7 e5 00 00 [ ]*bras %r14,2a <foo\+0x2a> [ ]*2c: R_390_PC16DBL test_R_390_PC16DBL\+0x2 2e: a7 e5 00 00 [ ]*bras %r14,2e <foo\+0x2e> diff --git a/gas/testsuite/gas/sh/err-at.s b/gas/testsuite/gas/sh/err-at.s index 648ee94..af5d081 100644 --- a/gas/testsuite/gas/sh/err-at.s +++ b/gas/testsuite/gas/sh/err-at.s @@ -4,7 +4,9 @@ start: mov.l r1,@r0 ! ok mov.l r1,@(r0) ! { dg-error "syntax error" } +! { dg-bogus "invalid operands for opcode" "" { xfail *-*-* } 6 } mov.l r1,@(r0,) ! { dg-error "syntax error" } +! { dg-bogus "invalid operands for opcode" "" { xfail *-*-* } 8 } mov.l r1,@(r0,r0) ! ok mov.l r1,@(r0,r1) ! ok mov.l r1,@(r1,r0) ! { dg-error "must be" } |