Properly handle EVEX register aliases

gas/

	* config/tc-i386.c (parse_register): Set need_vrex.

gas/testsuite/

	* gas/i386/x86-64-equ.d: New.
	* gas/i386/x86-64-equ.s: New.
	* gas/i386/i386.exp: Run x86-64-equ.
This commit is contained in:
Ilya Tocar 2014-07-17 13:59:32 +04:00 committed by H.J. Lu
parent e6cf2ae8bb
commit d3bb6b49b6
6 changed files with 34 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2014-07-17 Ilya Tocar <ilya.tocar@intel.com>
* config/tc-i386.c (parse_register): Set need_vrex.
2014-07-15 Jiong Wang <jiong.wang@arm.com>
* config/tc-arm.c (add_to_lit_pool): Use "inst.operands[1].imm" for

View File

@ -9428,6 +9428,8 @@ parse_register (char *reg_string, char **end_op)
know (e->X_add_number >= 0
&& (valueT) e->X_add_number < i386_regtab_size);
r = i386_regtab + e->X_add_number;
if ((r->reg_flags & RegVRex))
i.need_vrex = 1;
*end_op = input_line_pointer;
}
*input_line_pointer = c;

View File

@ -1,3 +1,9 @@
2014-07-17 Ilya Tocar <ilya.tocar@intel.com>
* gas/i386/x86-64-equ.d: New.
* gas/i386/x86-64-equ.s: New.
* gas/i386/i386.exp: Run x86-64-equ.
2014-07-12 David Majnemer <david.majnemer@gmail.com>
* gas/pe/set.s, * gas/pe/set.d: New test.

View File

@ -576,6 +576,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "x86-64-prefetchwt1"
run_dump_test "x86-64-prefetchwt1-intel"
run_dump_test "x86-64-se1"
run_dump_test "x86-64-equ"
if { ![istarget "*-*-aix*"]
&& ![istarget "*-*-beos*"]

View File

@ -0,0 +1,11 @@
#objdump: -drw
#name: evex equates
.*: +file format .*
Disassembly of section .text:
0+000 <_start>:
[ ]*[a-f0-9]+: 62 e1 76 08 58 c8 vaddss %xmm0,%xmm1,%xmm17
[ ]*[a-f0-9]+: 62 b1 76 08 58 c1 vaddss %xmm17,%xmm1,%xmm0
#pass

View File

@ -0,0 +1,10 @@
.text
_start:
.set ACC, %xmm17
vaddss %xmm0,%xmm1,ACC
.intel_syntax noprefix
.set ACC, xmm17
vaddss xmm0,xmm1,ACC