aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-04-26 08:53:20 +0200
committerJan Beulich <jbeulich@suse.com>2018-04-26 08:53:20 +0200
commit7a69eac330adff3913a8698eac450cc7968ba8b0 (patch)
treeb18ae6062dbee55c24b75a279a83558f730dfec7 /gas
parent1d3f82868db8881cd9ce79ad151fb0a7ebeb2c5a (diff)
downloadfsf-binutils-gdb-7a69eac330adff3913a8698eac450cc7968ba8b0.zip
fsf-binutils-gdb-7a69eac330adff3913a8698eac450cc7968ba8b0.tar.gz
fsf-binutils-gdb-7a69eac330adff3913a8698eac450cc7968ba8b0.tar.bz2
x86: also optimize zeroing-masking variants of insns
When zeroing an element of a register it doesn't matter whether the zero results from the actual operation (xor, sub, or nand) or from the zeroing-masking taking effect due to a clear mask register bit.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog11
-rw-r--r--gas/config/tc-i386.c2
-rw-r--r--gas/testsuite/gas/i386/optimize-1.d24
-rw-r--r--gas/testsuite/gas/i386/optimize-4.d24
-rw-r--r--gas/testsuite/gas/i386/optimize-5.d24
-rw-r--r--gas/testsuite/gas/i386/x86-64-optimize-2.d24
-rw-r--r--gas/testsuite/gas/i386/x86-64-optimize-5.d24
-rw-r--r--gas/testsuite/gas/i386/x86-64-optimize-6.d24
8 files changed, 84 insertions, 73 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0462a80..b0c6efc 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,16 @@
2018-04-26 Jan Beulich <jbeulich@suse.com>
+ * config/tc-i386.c (optimize_encoding): Check for zeroing
+ masking.
+ * testsuite/gas/i386/optimize-1.d,
+ testsuite/gas/i386/optimize-4.d,
+ testsuite/gas/i386/optimize-5.d,
+ testsuite/gas/i386/x86-64-optimize-2.d,
+ testsuite/gas/i386/x86-64-optimize-5.d,
+ testsuite/gas/i386/x86-64-optimize-6.d: Adjust expectations.
+
+2018-04-26 Jan Beulich <jbeulich@suse.com>
+
* config/tc-i386.c (parse_real_register): Check .cpuvrex before
recording EVEX encoding. Don't check previously specified
encoding.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index a48cfc2..6e0d1dd 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -3878,7 +3878,7 @@ optimize_encoding (void)
&& i.op[0].regs == i.op[1].regs
&& !i.types[2].bitfield.xmmword
&& (i.tm.opcode_modifier.vex
- || (!i.mask
+ || ((!i.mask || i.mask->zeroing)
&& !i.rounding
&& is_evex_encoding (&i.tm)
&& (i.vec_encoding != vex_encoding_evex
diff --git a/gas/testsuite/gas/i386/optimize-1.d b/gas/testsuite/gas/i386/optimize-1.d
index 3ea6e75..33ce43c 100644
--- a/gas/testsuite/gas/i386/optimize-1.d
+++ b/gas/testsuite/gas/i386/optimize-1.d
@@ -9,53 +9,53 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 f1 f5 4f 55 e9 vandnpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 55 e9 vandnpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 55 e9 vandnps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 55 e9 vandnps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f df e9 vpandnd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af df e9 vpandnd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f df e9 vpandnq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af df e9 vpandnq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f 57 e9 vxorpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 57 e9 vxorpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 57 e9 vxorps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 57 e9 vxorps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f ef e9 vpxord %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af ef e9 vpxord %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f ef e9 vpxorq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af ef e9 vpxorq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f8 e9 vpsubb %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f8 e9 vpsubb %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f9 e9 vpsubw %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f9 e9 vpsubw %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f fa e9 vpsubd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af fa e9 vpsubd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f fb e9 vpsubq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af fb e9 vpsubq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
#pass
diff --git a/gas/testsuite/gas/i386/optimize-4.d b/gas/testsuite/gas/i386/optimize-4.d
index 8c1cea5..c9f50f5 100644
--- a/gas/testsuite/gas/i386/optimize-4.d
+++ b/gas/testsuite/gas/i386/optimize-4.d
@@ -9,53 +9,53 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 f1 f5 4f 55 e9 vandnpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 55 e9 vandnpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 55 e9 vandnps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 55 e9 vandnps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f df e9 vpandnd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af df e9 vpandnd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f df e9 vpandnq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af df e9 vpandnq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f 57 e9 vxorpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 57 e9 vxorpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 57 e9 vxorps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 57 e9 vxorps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f ef e9 vpxord %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af ef e9 vpxord %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f ef e9 vpxorq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af ef e9 vpxorq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f8 e9 vpsubb %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f8 e9 vpsubb %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f9 e9 vpsubw %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f9 e9 vpsubw %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f fa e9 vpsubd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af fa e9 vpsubd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f fb e9 vpsubq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af fb e9 vpsubq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 08 55 e9 vandnpd %xmm1,%xmm1,%xmm5
diff --git a/gas/testsuite/gas/i386/optimize-5.d b/gas/testsuite/gas/i386/optimize-5.d
index 13cd578..ba4601e 100644
--- a/gas/testsuite/gas/i386/optimize-5.d
+++ b/gas/testsuite/gas/i386/optimize-5.d
@@ -9,53 +9,53 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 f1 f5 4f 55 e9 vandnpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 55 e9 vandnpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 55 e9 vandnps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 55 e9 vandnps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 55 e9 vandnps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f df e9 vpandnd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af df e9 vpandnd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f df e9 vpandnq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af df e9 vpandnq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 df e9 vpandn %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f 57 e9 vxorpd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af 57 e9 vxorpd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 57 e9 vxorpd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 74 4f 57 e9 vxorps %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 74 af 57 e9 vxorps %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f0 57 e9 vxorps %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f ef e9 vpxord %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af ef e9 vpxord %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f ef e9 vpxorq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af ef e9 vpxorq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 ef e9 vpxor %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f8 e9 vpsubb %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f8 e9 vpsubb %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f8 e9 vpsubb %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f f9 e9 vpsubw %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af f9 e9 vpsubw %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 f9 e9 vpsubw %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 75 4f fa e9 vpsubd %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 75 af fa e9 vpsubd %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fa e9 vpsubd %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 4f fb e9 vpsubq %zmm1,%zmm1,%zmm5\{%k7\}
- +[a-f0-9]+: 62 f1 f5 af fb e9 vpsubq %ymm1,%ymm1,%ymm5\{%k7\}\{z\}
+ +[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: c5 f1 fb e9 vpsubq %xmm1,%xmm1,%xmm5
+[a-f0-9]+: 62 f1 f5 08 55 e9 vandnpd %xmm1,%xmm1,%xmm5
diff --git a/gas/testsuite/gas/i386/x86-64-optimize-2.d b/gas/testsuite/gas/i386/x86-64-optimize-2.d
index ba3a2df..f374619 100644
--- a/gas/testsuite/gas/i386/x86-64-optimize-2.d
+++ b/gas/testsuite/gas/i386/x86-64-optimize-2.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 71 f5 4f 55 f9 vandnpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 55 f9 vandnpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 48 55 c1 vandnpd %zmm1,%zmm1,%zmm16
@@ -17,7 +17,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 40 55 c9 vandnpd %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 f5 00 55 c9 vandnpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 55 f9 vandnps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 55 f9 vandnps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 48 55 c1 vandnps %zmm1,%zmm1,%zmm16
@@ -26,7 +26,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 55 c9 vandnps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f df f9 vpandnd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af df f9 vpandnd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 48 df c1 vpandnd %zmm1,%zmm1,%zmm16
@@ -34,7 +34,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 40 df c9 vpandnd %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 75 00 df c9 vpandnd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f df f9 vpandnq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af df f9 vpandnq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 48 df c1 vpandnq %zmm1,%zmm1,%zmm16
@@ -42,7 +42,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 40 df c9 vpandnq %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 f5 00 df c9 vpandnq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f 57 f9 vxorpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 57 f9 vxorpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 48 57 c1 vxorpd %zmm1,%zmm1,%zmm16
@@ -50,7 +50,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 40 57 c9 vxorpd %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 f5 00 57 c9 vxorpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 57 f9 vxorps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 57 f9 vxorps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 48 57 c1 vxorps %zmm1,%zmm1,%zmm16
@@ -59,7 +59,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 57 c9 vxorps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f ef f9 vpxord %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af ef f9 vpxord %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 48 ef c1 vpxord %zmm1,%zmm1,%zmm16
@@ -67,7 +67,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 40 ef c9 vpxord %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 75 00 ef c9 vpxord %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f ef f9 vpxorq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af ef f9 vpxorq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 48 ef c1 vpxorq %zmm1,%zmm1,%zmm16
@@ -75,7 +75,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 40 ef c9 vpxorq %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 f5 00 ef c9 vpxorq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f8 f9 vpsubb %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f8 f9 vpsubb %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 48 f8 c1 vpsubb %zmm1,%zmm1,%zmm16
@@ -83,7 +83,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 40 f8 c9 vpsubb %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 75 00 f8 c9 vpsubb %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f9 f9 vpsubw %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f9 f9 vpsubw %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 48 f9 c1 vpsubw %zmm1,%zmm1,%zmm16
@@ -91,7 +91,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 40 f9 c9 vpsubw %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 75 00 f9 c9 vpsubw %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f fa f9 vpsubd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af fa f9 vpsubd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 48 fa c1 vpsubd %zmm1,%zmm1,%zmm16
@@ -99,7 +99,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 40 fa c9 vpsubd %zmm17,%zmm17,%zmm1
+[a-f0-9]+: 62 b1 75 00 fa c9 vpsubd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f fb f9 vpsubq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af fb f9 vpsubq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 48 fb c1 vpsubq %zmm1,%zmm1,%zmm16
diff --git a/gas/testsuite/gas/i386/x86-64-optimize-5.d b/gas/testsuite/gas/i386/x86-64-optimize-5.d
index 3ef5746..085f7f2 100644
--- a/gas/testsuite/gas/i386/x86-64-optimize-5.d
+++ b/gas/testsuite/gas/i386/x86-64-optimize-5.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 71 f5 4f 55 f9 vandnpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 55 f9 vandnpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 55 c1 vandnpd %xmm1,%xmm1,%xmm16
@@ -17,7 +17,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 55 c9 vandnpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 55 c9 vandnpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 55 f9 vandnps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 55 f9 vandnps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 08 55 c1 vandnps %xmm1,%xmm1,%xmm16
@@ -26,7 +26,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 55 c9 vandnps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f df f9 vpandnd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af df f9 vpandnd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 df c1 vpandnd %xmm1,%xmm1,%xmm16
@@ -34,7 +34,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 df c9 vpandnd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 df c9 vpandnd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f df f9 vpandnq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af df f9 vpandnq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 df c1 vpandnq %xmm1,%xmm1,%xmm16
@@ -42,7 +42,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 df c9 vpandnq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 df c9 vpandnq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f 57 f9 vxorpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 57 f9 vxorpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 57 c1 vxorpd %xmm1,%xmm1,%xmm16
@@ -50,7 +50,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 57 c9 vxorpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 57 c9 vxorpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 57 f9 vxorps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 57 f9 vxorps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 08 57 c1 vxorps %xmm1,%xmm1,%xmm16
@@ -59,7 +59,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 57 c9 vxorps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f ef f9 vpxord %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af ef f9 vpxord %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 ef c1 vpxord %xmm1,%xmm1,%xmm16
@@ -67,7 +67,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 ef c9 vpxord %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 ef c9 vpxord %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f ef f9 vpxorq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af ef f9 vpxorq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 ef c1 vpxorq %xmm1,%xmm1,%xmm16
@@ -75,7 +75,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 ef c9 vpxorq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 ef c9 vpxorq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f8 f9 vpsubb %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f8 f9 vpsubb %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 f8 c1 vpsubb %xmm1,%xmm1,%xmm16
@@ -83,7 +83,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 f8 c9 vpsubb %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 f8 c9 vpsubb %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f9 f9 vpsubw %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f9 f9 vpsubw %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 f9 c1 vpsubw %xmm1,%xmm1,%xmm16
@@ -91,7 +91,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 f9 c9 vpsubw %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 f9 c9 vpsubw %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f fa f9 vpsubd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af fa f9 vpsubd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 fa c1 vpsubd %xmm1,%xmm1,%xmm16
@@ -99,7 +99,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 fa c9 vpsubd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 fa c9 vpsubd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f fb f9 vpsubq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af fb f9 vpsubq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 fb c1 vpsubq %xmm1,%xmm1,%xmm16
diff --git a/gas/testsuite/gas/i386/x86-64-optimize-6.d b/gas/testsuite/gas/i386/x86-64-optimize-6.d
index 527f1a0..0d52c8f 100644
--- a/gas/testsuite/gas/i386/x86-64-optimize-6.d
+++ b/gas/testsuite/gas/i386/x86-64-optimize-6.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 62 71 f5 4f 55 f9 vandnpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 55 f9 vandnpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 55 f9 vandnpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 55 c1 vandnpd %xmm1,%xmm1,%xmm16
@@ -17,7 +17,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 55 c9 vandnpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 55 c9 vandnpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 55 f9 vandnps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 55 f9 vandnps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 55 f9 vandnps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 08 55 c1 vandnps %xmm1,%xmm1,%xmm16
@@ -26,7 +26,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 55 c9 vandnps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f df f9 vpandnd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af df f9 vpandnd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 df c1 vpandnd %xmm1,%xmm1,%xmm16
@@ -34,7 +34,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 df c9 vpandnd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 df c9 vpandnd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f df f9 vpandnq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af df f9 vpandnq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 df f9 vpandn %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 df c1 vpandnq %xmm1,%xmm1,%xmm16
@@ -42,7 +42,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 df c9 vpandnq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 df c9 vpandnq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f 57 f9 vxorpd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af 57 f9 vxorpd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 57 f9 vxorpd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 57 c1 vxorpd %xmm1,%xmm1,%xmm16
@@ -50,7 +50,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 57 c9 vxorpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 57 c9 vxorpd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 74 4f 57 f9 vxorps %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 74 af 57 f9 vxorps %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 70 57 f9 vxorps %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 74 08 57 c1 vxorps %xmm1,%xmm1,%xmm16
@@ -59,7 +59,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 74 00 57 c9 vxorps %xmm17,%xmm17,%xmm1
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 71 75 4f ef f9 vpxord %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af ef f9 vpxord %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 ef c1 vpxord %xmm1,%xmm1,%xmm16
@@ -67,7 +67,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 ef c9 vpxord %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 ef c9 vpxord %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f ef f9 vpxorq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af ef f9 vpxorq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 ef f9 vpxor %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 ef c1 vpxorq %xmm1,%xmm1,%xmm16
@@ -75,7 +75,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 f5 00 ef c9 vpxorq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 f5 00 ef c9 vpxorq %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f8 f9 vpsubb %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f8 f9 vpsubb %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f8 f9 vpsubb %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 f8 c1 vpsubb %xmm1,%xmm1,%xmm16
@@ -83,7 +83,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 f8 c9 vpsubb %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 f8 c9 vpsubb %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f f9 f9 vpsubw %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af f9 f9 vpsubw %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 f9 f9 vpsubw %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 f9 c1 vpsubw %xmm1,%xmm1,%xmm16
@@ -91,7 +91,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 f9 c9 vpsubw %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 f9 c9 vpsubw %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 75 4f fa f9 vpsubd %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 75 af fa f9 vpsubd %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fa f9 vpsubd %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 75 08 fa c1 vpsubd %xmm1,%xmm1,%xmm16
@@ -99,7 +99,7 @@ Disassembly of section .text:
+[a-f0-9]+: 62 b1 75 00 fa c9 vpsubd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 b1 75 00 fa c9 vpsubd %xmm17,%xmm17,%xmm1
+[a-f0-9]+: 62 71 f5 4f fb f9 vpsubq %zmm1,%zmm1,%zmm15\{%k7\}
- +[a-f0-9]+: 62 71 f5 af fb f9 vpsubq %ymm1,%ymm1,%ymm15\{%k7\}\{z\}
+ +[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: c5 71 fb f9 vpsubq %xmm1,%xmm1,%xmm15
+[a-f0-9]+: 62 e1 f5 08 fb c1 vpsubq %xmm1,%xmm1,%xmm16