diff options
author | Jan Beulich <jbeulich@novell.com> | 2017-11-15 08:51:03 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2017-11-15 08:51:03 +0100 |
commit | 3a2430e05b1503653ae09cb21feb2a0d4ea51ec7 (patch) | |
tree | 1ca884a972fcb08063cd9462d0d68556ecfacb6a /gas | |
parent | 0645f0a2a75ad77d9786595978591d3f302f9647 (diff) | |
download | gdb-3a2430e05b1503653ae09cb21feb2a0d4ea51ec7.zip gdb-3a2430e05b1503653ae09cb21feb2a0d4ea51ec7.tar.gz gdb-3a2430e05b1503653ae09cb21feb2a0d4ea51ec7.tar.bz2 |
x86: drop VEXI4_Fixup()
The low four bits of an immediate being set when the high bits specify a
fourth register operand is not a problem: CPUs ignore these bits rather
than raising #UD. Take care of incrementing codep in OP_EX_VexW()
instead.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/noextreg.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/noextreg.s | 10 |
4 files changed, 28 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 66bc034..3624da7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2017-11-15 Jan Beulich <jbeulich@suse.com> + * testsuite/gas/i386/noextreg.{s,d}: New. + * testsuite/gas/i386/i386.exp: Run new test. + +2017-11-15 Jan Beulich <jbeulich@suse.com> + * testsuite/gas/i386/x86-64-reg.s: Add extended byte reg tests. * testsuite/gas/i386/x86-64-reg.d, testsuite/gas/i386/x86-64-reg-intel.d, diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 7a8b642..a053676 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -182,6 +182,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "noavx-4" run_list_test "noavx512-1" "-al" run_list_test "noavx512-2" "-al" + run_dump_test "noextreg" run_dump_test "xsave" run_dump_test "xsave-intel" run_dump_test "aes" diff --git a/gas/testsuite/gas/i386/noextreg.d b/gas/testsuite/gas/i386/noextreg.d new file mode 100644 index 0000000..cb181b1 --- /dev/null +++ b/gas/testsuite/gas/i386/noextreg.d @@ -0,0 +1,12 @@ +#objdump: -dw +#name: ix86 no extended registers + +.*: file format .* + +Disassembly of section .text: + +0+ <ix86>: +[ ]*[a-f0-9]+: c4 e3 79 68 00 00 vfmaddps %xmm0,\(%eax\),%xmm0,%xmm0 +[ ]*[a-f0-9]+: c4 e3 79 68 00 0f vfmaddps %xmm0,\(%eax\),%xmm0,%xmm0 +[ ]*[a-f0-9]+: c3 ret[ ]* +#pass diff --git a/gas/testsuite/gas/i386/noextreg.s b/gas/testsuite/gas/i386/noextreg.s new file mode 100644 index 0000000..229b994 --- /dev/null +++ b/gas/testsuite/gas/i386/noextreg.s @@ -0,0 +1,10 @@ + .intel_syntax noprefix + .text +ix86: + vfmaddps xmm0, xmm0, [eax], xmm0 + .byte 0xc4, 0xe3, 0x79, 0x68, 0x00, 0x0f # vfmaddps xmm0, xmm0, [eax], xmm0 + + ret + + .type ix86, @function + .size ix86, . - ix86 |