This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb/binutils-2_26-branch] [i386] Check RegVRex in register_number


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d45389bc26e27dbb54f19eb3bd530f0dc8c9f20d

commit d45389bc26e27dbb54f19eb3bd530f0dc8c9f20d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Feb 20 09:23:20 2016 -0800

    [i386] Check RegVRex in register_number
    
    Increment register number by 16 if RegVRex is set.
    
    Backport from master
    
    	* config/tc-i386.c (register_number): Check RegVRex.
    	* testsuite/gas/i386/x86-64-avx512f.s: Add a test for vgatherqpd
    	with %zmm19 and %zmm3.
    	* testsuite/gas/i386/x86-64-avx512f-intel.d: Updated.
    	* testsuite/gas/i386/x86-64-avx512f.d: Likewise.

Diff:
---
 gas/ChangeLog                                 | 11 +++++++++++
 gas/config/tc-i386.c                          |  3 +++
 gas/testsuite/gas/i386/x86-64-avx512f-intel.d |  2 ++
 gas/testsuite/gas/i386/x86-64-avx512f.d       |  2 ++
 gas/testsuite/gas/i386/x86-64-avx512f.s       |  2 ++
 5 files changed, 20 insertions(+)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 93179a7..8cbbcf0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,14 @@
+2016-02-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	Backport from master
+	2016-02-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/tc-i386.c (register_number): Check RegVRex.
+	* testsuite/gas/i386/x86-64-avx512f.s: Add a test for vgatherqpd
+	with %zmm19 and %zmm3.
+	* testsuite/gas/i386/x86-64-avx512f-intel.d: Updated.
+	* testsuite/gas/i386/x86-64-avx512f.d: Likewise.
+
 2016-02-03  H.J. Lu  <hongjiu.lu@intel.com>
 
 	Backport from master
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index cd8a147..8676c5f 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1875,6 +1875,9 @@ register_number (const reg_entry *r)
   if (r->reg_flags & RegRex)
     nr += 8;
 
+  if (r->reg_flags & RegVRex)
+    nr += 16;
+
   return nr;
 }
 
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
index c6bdbc5..ff2a3d1 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
@@ -3666,6 +3666,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 b4 fe 7b 00 00 00 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 74 39 20 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r9\+zmm31\*1\+0x100\]
 [ 	]*[a-f0-9]+:	62 22 fd 41 93 b4 b9 00 04 00 00 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[rcx\+zmm31\*4\+0x400\]
+[ 	]*[a-f0-9]+:	62 d2 fd 41 93 9c de 7b 00 00 00 	vgatherqpd zmm3\{k1\},ZMMWORD PTR \[r14\+zmm19\*8\+0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 7b 00 00 00 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 7b 00 00 00 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8\+0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 74 39 40 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r9\+zmm31\*1\+0x100\]
@@ -10686,6 +10687,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 b4 fe 85 ff ff ff 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r14\+zmm31\*8-0x7b\]
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 74 39 20 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[r9\+zmm31\*1\+0x100\]
 [ 	]*[a-f0-9]+:	62 22 fd 41 93 b4 b9 00 04 00 00 	vgatherqpd zmm30\{k1\},ZMMWORD PTR \[rcx\+zmm31\*4\+0x400\]
+[ 	]*[a-f0-9]+:	62 d2 fd 41 93 9c de 7b 00 00 00 	vgatherqpd zmm3\{k1\},ZMMWORD PTR \[r14\+zmm19\*8\+0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 85 ff ff ff 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8-0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 85 ff ff ff 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r14\+zmm31\*8-0x7b\]
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 74 39 40 	vgatherqps ymm30\{k1\},YMMWORD PTR \[r9\+zmm31\*1\+0x100\]
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.d b/gas/testsuite/gas/i386/x86-64-avx512f.d
index d672fa5..2db0b3e 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f.d
+++ b/gas/testsuite/gas/i386/x86-64-avx512f.d
@@ -3665,6 +3665,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 b4 fe 7b 00 00 00 	vgatherqpd 0x7b\(%r14,%zmm31,8\),%zmm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 74 39 20 	vgatherqpd 0x100\(%r9,%zmm31,1\),%zmm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 22 fd 41 93 b4 b9 00 04 00 00 	vgatherqpd 0x400\(%rcx,%zmm31,4\),%zmm30\{%k1\}
+[ 	]*[a-f0-9]+:	62 d2 fd 41 93 9c de 7b 00 00 00 	vgatherqpd 0x7b\(%r14,%zmm19,8\),%zmm3\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 7b 00 00 00 	vgatherqps 0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 7b 00 00 00 	vgatherqps 0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 74 39 40 	vgatherqps 0x100\(%r9,%zmm31,1\),%ymm30\{%k1\}
@@ -10685,6 +10686,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 b4 fe 85 ff ff ff 	vgatherqpd -0x7b\(%r14,%zmm31,8\),%zmm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 fd 41 93 74 39 20 	vgatherqpd 0x100\(%r9,%zmm31,1\),%zmm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 22 fd 41 93 b4 b9 00 04 00 00 	vgatherqpd 0x400\(%rcx,%zmm31,4\),%zmm30\{%k1\}
+[ 	]*[a-f0-9]+:	62 d2 fd 41 93 9c de 7b 00 00 00 	vgatherqpd 0x7b\(%r14,%zmm19,8\),%zmm3\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 85 ff ff ff 	vgatherqps -0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 b4 fe 85 ff ff ff 	vgatherqps -0x7b\(%r14,%zmm31,8\),%ymm30\{%k1\}
 [ 	]*[a-f0-9]+:	62 02 7d 41 93 74 39 40 	vgatherqps 0x100\(%r9,%zmm31,1\),%ymm30\{%k1\}
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.s b/gas/testsuite/gas/i386/x86-64-avx512f.s
index fa42326..e2cbb12 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f.s
+++ b/gas/testsuite/gas/i386/x86-64-avx512f.s
@@ -3973,6 +3973,7 @@ _start:
 	vgatherqpd	123(%r14,%zmm31,8), %zmm30{%k1}	 # AVX512F
 	vgatherqpd	256(%r9,%zmm31), %zmm30{%k1}	 # AVX512F
 	vgatherqpd	1024(%rcx,%zmm31,4), %zmm30{%k1}	 # AVX512F
+	vgatherqpd	123(%r14,%zmm19,8), %zmm3{%k1}	 # AVX512F
 
 	vgatherqps	123(%r14,%zmm31,8), %ymm30{%k1}	 # AVX512F
 	vgatherqps	123(%r14,%zmm31,8), %ymm30{%k1}	 # AVX512F
@@ -11630,6 +11631,7 @@ _start:
 	vgatherqpd	zmm30{k1}, ZMMWORD PTR [r14+zmm31*8-123]	 # AVX512F
 	vgatherqpd	zmm30{k1}, ZMMWORD PTR [r9+zmm31+256]	 # AVX512F
 	vgatherqpd	zmm30{k1}, ZMMWORD PTR [rcx+zmm31*4+1024]	 # AVX512F
+	vgatherqpd	zmm3{k1}, ZMMWORD PTR [r14+zmm19*8+123]	 # AVX512F
 
 	vgatherqps	ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123]	 # AVX512F
 	vgatherqps	ymm30{k1}, YMMWORD PTR [r14+zmm31*8-123]	 # AVX512F


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]