aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-03-09 08:10:27 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-03-09 08:10:40 -0800
commit80c34c3812f8bae13fb902dbaaa287ca207857ac (patch)
treef1106d6442d81c4cc6c42be05836619614c45811 /gas/config
parentf657f8c4a1dc0ac69b16b1dc6eacbf5286f1f0a0 (diff)
downloadgdb-80c34c3812f8bae13fb902dbaaa287ca207857ac.zip
gdb-80c34c3812f8bae13fb902dbaaa287ca207857ac.tar.gz
gdb-80c34c3812f8bae13fb902dbaaa287ca207857ac.tar.bz2
x86: Encode EVEX instructions with VEX128 if possible
If EVEX encoding isn't required, we can encode EVEX instructions with VEX128. * config/tc-i386.c (optimize_encoding): Encode EVEX instructions with VEX128 if EVEX encoding isn't required. * testsuite/gas/i386/optimize-1.d: Updated. * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 7243760..e94e01c 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -3875,7 +3875,8 @@ optimize_encoding (void)
|| (!i.mask
&& !i.rounding
&& is_evex_encoding (&i.tm)
- && (i.tm.cpu_flags.bitfield.cpuavx512vl
+ && (i.vec_encoding != vex_encoding_evex
+ || i.tm.cpu_flags.bitfield.cpuavx512vl
|| cpu_arch_isa_flags.bitfield.cpuavx512vl)))
&& ((i.tm.base_opcode == 0x55
|| i.tm.base_opcode == 0x6655