diff options
author | Igor Tsimbalist <igor.v.tsimbalist@intel.com> | 2018-04-27 14:34:13 +0200 |
---|---|---|
committer | Igor Tsimbalist <igor.v.tsimbalist@intel.com> | 2018-04-27 14:34:13 +0200 |
commit | aa178437393fd97f706c3f8bdf60ab2cc53a8cb4 (patch) | |
tree | c17b80644ef479bfda7abbc8c808df8dfcc8748a /gas | |
parent | ffa389a39655f4b35d583783e49fa5b31c288e8f (diff) | |
download | fsf-binutils-gdb-aa178437393fd97f706c3f8bdf60ab2cc53a8cb4.zip fsf-binutils-gdb-aa178437393fd97f706c3f8bdf60ab2cc53a8cb4.tar.gz fsf-binutils-gdb-aa178437393fd97f706c3f8bdf60ab2cc53a8cb4.tar.bz2 |
Revert "Enable Intel MOVDIRI, MOVDIR64B instructions."
This reverts commit a914a7c95895161c99533d5919b8504b37ea54a0.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 18 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 40 | ||||
-rw-r--r-- | gas/doc/c-i386.texi | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/movdir-intel.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/movdir.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/movdir.s | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/movdir64b-reg.l | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/movdir64b-reg.s | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-movdir-intel.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-movdir.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-movdir.s | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-movdir64b-reg.l | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-movdir64b-reg.s | 11 |
14 files changed, 0 insertions, 197 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 42d2ef2..d3ce68f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,21 +1,3 @@ -2018-04-26 Igor Tsimbalist <igor.v.tsimbalist@intel.com> - - * config/tc-i386.c (cpu_arch): Add .movdir, .movdir64b. - (cpu_noarch): Likewise. - (process_suffix): Add check for register size. - * doc/c-i386.texi: Document movdiri, movdir64b. - * testsuite/gas/i386/i386.exp: Run MOVDIR{I,64B} tests. - * testsuite/gas/i386/movdir-intel.d: New test. - * testsuite/gas/i386/movdir.d: Likewise. - * testsuite/gas/i386/movdir.s: Likewise. - * testsuite/gas/i386/movdir64b-reg.s: Likewise. - * testsuite/gas/i386/movdir64b-reg.l: Likewise. - * testsuite/gas/i386/x86-64-movdir-intel.d: Likewise. - * testsuite/gas/i386/x86-64-movdir.d: Likewise. - * testsuite/gas/i386/x86-64-movdir.s: Likewise. - * testsuite/gas/i386/x86-64-movdir64b-reg.s: Likewise. - * testsuite/gas/i386/x86-64-movdir64b-reg.l: Likewise. - 2018-04-26 Nick Clifton <nickc@redhat.com> * as.c (flag_generate_build_notes): New variable. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index b7fb991..cd53fa46 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1029,10 +1029,6 @@ static const arch_entry cpu_arch[] = CPU_WAITPKG_FLAGS, 0 }, { STRING_COMMA_LEN (".cldemote"), PROCESSOR_UNKNOWN, CPU_CLDEMOTE_FLAGS, 0 }, - { STRING_COMMA_LEN (".movdiri"), PROCESSOR_UNKNOWN, - CPU_MOVDIRI_FLAGS, 0 }, - { STRING_COMMA_LEN (".movdir64b"), PROCESSOR_UNKNOWN, - CPU_MOVDIR64B_FLAGS, 0 }, }; static const noarch_entry cpu_noarch[] = @@ -1068,8 +1064,6 @@ static const noarch_entry cpu_noarch[] = { STRING_COMMA_LEN ("noavx512_bitalg"), CPU_ANY_AVX512_BITALG_FLAGS }, { STRING_COMMA_LEN ("noibt"), CPU_ANY_IBT_FLAGS }, { STRING_COMMA_LEN ("noshstk"), CPU_ANY_SHSTK_FLAGS }, - { STRING_COMMA_LEN ("nomovdiri"), CPU_ANY_MOVDIRI_FLAGS }, - { STRING_COMMA_LEN ("nomovdir64b"), CPU_ANY_MOVDIR64B_FLAGS }, }; #ifdef I386COFF @@ -6046,40 +6040,6 @@ process_suffix (void) break; } - if (i.tm.opcode_modifier.addrprefixopreg - && i.reg_operands != 0 - && i.operands > 1) - { - /* Check invalid register operand when the address size override - prefix changes the size of register operands. */ - unsigned int op; - enum { need_word, need_dword, need_qword } need; - - if (flag_code == CODE_32BIT) - need = i.prefix[ADDR_PREFIX] ? need_word : need_dword; - else - { - if (i.prefix[ADDR_PREFIX]) - need = need_dword; - else - need = flag_code == CODE_64BIT ? need_qword : need_word; - } - - for (op = 0; op < i.operands; op++) - if (i.types[op].bitfield.reg - && ((need == need_word - && !i.op[op].regs->reg_type.bitfield.word) - || (need == need_dword - && !i.op[op].regs->reg_type.bitfield.dword) - || (need == need_qword - && !i.op[op].regs->reg_type.bitfield.qword))) - { - as_bad (_("invalid register operand size for `%s'"), - i.tm.name); - return 0; - } - } - return 1; } diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index 7e07755..3d459e2 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -176,8 +176,6 @@ accept various extension mnemonics. For example, @code{clflushopt}, @code{se1}, @code{clwb}, -@code{movdiri}, -@code{movdir64b}, @code{avx512f}, @code{avx512cd}, @code{avx512er}, @@ -1278,7 +1276,6 @@ supported on the CPU specified. The choices for @var{cpu_type} are: @item @samp{.clwb} @tab @samp{.rdpid} @tab @samp{.ptwrite} @tab @item @samp{.ibt} @item @samp{.wbnoinvd} @tab @samp{.pconfig} @tab @samp{.waitpkg} @tab @samp{.cldemote} @item @samp{.shstk} @tab @samp{.gfni} @tab @samp{.vaes} @tab @samp{.vpclmulqdq} -@item @samp{.movdiri} @tab @samp{.movdir64b} @item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5} @item @samp{.syscall} @tab @samp{.rdtscp} @tab @samp{.svme} @tab @samp{.abm} @item @samp{.lwp} @tab @samp{.fma4} @tab @samp{.xop} @tab @samp{.cx16} diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index c691a02..e061c67 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -431,9 +431,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "waitpkg-intel" run_dump_test "cldemote" run_dump_test "cldemote-intel" - run_dump_test "movdir" - run_dump_test "movdir-intel" - run_list_test "movdir64b-reg" run_list_test "avx512vl-1" "-al" run_list_test "avx512vl-2" "-al" run_list_test "avx512vl-plain" "-al" @@ -927,9 +924,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-waitpkg-intel" run_dump_test "x86-64-cldemote" run_dump_test "x86-64-cldemote-intel" - run_dump_test "x86-64-movdir" - run_dump_test "x86-64-movdir-intel" - run_list_test "x86-64-movdir64b-reg" run_dump_test "x86-64-fence-as-lock-add-yes" run_dump_test "x86-64-fence-as-lock-add-no" run_dump_test "x86-64-pr20141" diff --git a/gas/testsuite/gas/i386/movdir-intel.d b/gas/testsuite/gas/i386/movdir-intel.d deleted file mode 100644 index d6eab9c..0000000 --- a/gas/testsuite/gas/i386/movdir-intel.d +++ /dev/null @@ -1,18 +0,0 @@ -#as: -#objdump: -dw -Mintel -#name: i386 MOVDIR[I,64B] insns (Intel disassembly) -#source: movdir.s - -.*: +file format .* - - -Disassembly of section \.text: - -00000000 <_start>: -[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri DWORD PTR \[ecx\],eax -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b eax,\[ecx\] -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 04[ ]*movdir64b ax,\[si\] -[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri DWORD PTR \[ecx\],eax -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b eax,\[ecx\] -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 04[ ]*movdir64b ax,\[si\] -#pass diff --git a/gas/testsuite/gas/i386/movdir.d b/gas/testsuite/gas/i386/movdir.d deleted file mode 100644 index 852b20d..0000000 --- a/gas/testsuite/gas/i386/movdir.d +++ /dev/null @@ -1,18 +0,0 @@ -#as: -#objdump: -dw -#name: i386 MOVDIR[I,64B] insns -#source: movdir.s - -.*: +file format .* - - -Disassembly of section \.text: - -00000000 <_start>: -[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri %eax,\(%ecx\) -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 04[ ]*movdir64b \(%si\),%ax -[ ]*[a-f0-9]+:[ ]*0f 38 f9 01[ ]*movdiri %eax,\(%ecx\) -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 04[ ]*movdir64b \(%si\),%ax -#pass diff --git a/gas/testsuite/gas/i386/movdir.s b/gas/testsuite/gas/i386/movdir.s deleted file mode 100644 index 28dfa61..0000000 --- a/gas/testsuite/gas/i386/movdir.s +++ /dev/null @@ -1,13 +0,0 @@ -# Check MOVDIR[I,64B] 32-bit instructions - - .allow_index_reg - .text -_start: - movdiri %eax, (%ecx) - movdir64b (%ecx),%eax - movdir64b (%si),%ax - - .intel_syntax noprefix - movdiri [ecx], eax - movdir64b eax,[ecx] - movdir64b ax,[si] diff --git a/gas/testsuite/gas/i386/movdir64b-reg.l b/gas/testsuite/gas/i386/movdir64b-reg.l deleted file mode 100644 index e01d20d..0000000 --- a/gas/testsuite/gas/i386/movdir64b-reg.l +++ /dev/null @@ -1,5 +0,0 @@ -.*: Assembler messages: -.*:6: Error: invalid register operand size for `movdir64b' -.*:7: Error: invalid register operand size for `movdir64b' -.*:10: Error: invalid register operand size for `movdir64b' -.*:11: Error: invalid register operand size for `movdir64b' diff --git a/gas/testsuite/gas/i386/movdir64b-reg.s b/gas/testsuite/gas/i386/movdir64b-reg.s deleted file mode 100644 index ace5e86..0000000 --- a/gas/testsuite/gas/i386/movdir64b-reg.s +++ /dev/null @@ -1,11 +0,0 @@ -# Check error for MOVDIR64B 32-bit instructions - - .allow_index_reg - .text -_start: - movdir64b (%si),%eax - movdir64b (%esi),%ax - - .intel_syntax noprefix - movdir64b eax,[si] - movdir64b ax,[esi] diff --git a/gas/testsuite/gas/i386/x86-64-movdir-intel.d b/gas/testsuite/gas/i386/x86-64-movdir-intel.d deleted file mode 100644 index f8891ec..0000000 --- a/gas/testsuite/gas/i386/x86-64-movdir-intel.d +++ /dev/null @@ -1,18 +0,0 @@ -#as: -#objdump: -dw -Mintel -#name: x86_64 MOVDIR[I,64B] insns (Intel disassembly) -#source: x86-64-movdir.s - -.*: +file format .* - - -Disassembly of section \.text: - -0+ <_start>: -[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*rex\.W movdiri QWORD PTR \[rcx\],rax -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b rax,\[rcx\] -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 01[ ]*movdir64b eax,\[ecx] -[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*rex\.W movdiri QWORD PTR \[rcx\],rax -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b rax,\[rcx\] -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 01[ ]*movdir64b eax,\[ecx\] -#pass diff --git a/gas/testsuite/gas/i386/x86-64-movdir.d b/gas/testsuite/gas/i386/x86-64-movdir.d deleted file mode 100644 index bd0feca..0000000 --- a/gas/testsuite/gas/i386/x86-64-movdir.d +++ /dev/null @@ -1,18 +0,0 @@ -#as: -#objdump: -dw -#name: x86_64 MOVDIR[I,64B] insns -#source: x86-64-movdir.s - -.*: +file format .* - - -Disassembly of section \.text: - -0+ <_start>: -[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*rex\.W movdiri %rax,\(%rcx\) -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%rcx\),%rax -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax -[ ]*[a-f0-9]+:[ ]*48 0f 38 f9 01[ ]*rex\.W movdiri %rax,\(%rcx\) -[ ]*[a-f0-9]+:[ ]*66 0f 38 f8 01[ ]*movdir64b \(%rcx\),%rax -[ ]*[a-f0-9]+:[ ]*67 66 0f 38 f8 01[ ]*movdir64b \(%ecx\),%eax -#pass diff --git a/gas/testsuite/gas/i386/x86-64-movdir.s b/gas/testsuite/gas/i386/x86-64-movdir.s deleted file mode 100644 index f0fe267..0000000 --- a/gas/testsuite/gas/i386/x86-64-movdir.s +++ /dev/null @@ -1,13 +0,0 @@ -# Check MOVDIR[I,64B] 64-bit instructions - - .allow_index_reg - .text -_start: - movdiri %rax, (%rcx) - movdir64b (%rcx),%rax - movdir64b (%ecx),%eax - - .intel_syntax noprefix - movdiri [rcx],rax - movdir64b rax,[rcx] - movdir64b eax,[ecx] diff --git a/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l b/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l deleted file mode 100644 index e01d20d..0000000 --- a/gas/testsuite/gas/i386/x86-64-movdir64b-reg.l +++ /dev/null @@ -1,5 +0,0 @@ -.*: Assembler messages: -.*:6: Error: invalid register operand size for `movdir64b' -.*:7: Error: invalid register operand size for `movdir64b' -.*:10: Error: invalid register operand size for `movdir64b' -.*:11: Error: invalid register operand size for `movdir64b' diff --git a/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s b/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s deleted file mode 100644 index 4aeb6d3..0000000 --- a/gas/testsuite/gas/i386/x86-64-movdir64b-reg.s +++ /dev/null @@ -1,11 +0,0 @@ -# Check error for MOVDIR64B 32-bit instructions - - .allow_index_reg - .text -_start: - movdir64b (%esi),%rax - movdir64b (%rsi),%eax - - .intel_syntax noprefix - movdir64b rax,[esi] - movdir64b eax,[rsi] |