[i386] Check RegVRex in register_number
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Feb 2016 17:23:20 +0000 (09:23 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Feb 2016 17:23:20 +0000 (09:23 -0800)
Increment register number by 16 if RegVRex is set.

* 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.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/x86-64-avx512f-intel.d
gas/testsuite/gas/i386/x86-64-avx512f.d
gas/testsuite/gas/i386/x86-64-avx512f.s

index 3af58ee62ed5a3487bafdc09a540339425ada8a5..87eb4124dcd12d8351aff0641632142f0780e94b 100644 (file)
@@ -1,3 +1,11 @@
+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-19  Matthew Wahab  <matthew.wahab@arm.com>
            Jiong Wang  <jiong.wang@arm.com>
 
index 2bc7616950905e38e6d06751c292b9b06611fcde..37ee3926daa54ef91ed6c6bb39c5ca29ec331921 100644 (file)
@@ -1880,6 +1880,9 @@ register_number (const reg_entry *r)
   if (r->reg_flags & RegRex)
     nr += 8;
 
+  if (r->reg_flags & RegVRex)
+    nr += 16;
+
   return nr;
 }
 
index c6bdbc5a16e729a3b1649cdeb6db5a980c8bae65..ff2a3d103b5e28be06e692e9b3695eb64751765b 100644 (file)
@@ -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\]
index d672fa565189a6aee1e735eef387fa70d09ace16..2db0b3e0f94649bbfe0a3bc0c6e549a4981ea78f 100644 (file)
@@ -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\}
index fa42326113feb12808791062f45f593eaa5e88b2..e2cbb122fe40db5400e94ff326831da0bdd8b27f 100644 (file)
@@ -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