diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-03-09 08:10:27 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-03-09 08:10:40 -0800 |
commit | 80c34c3812f8bae13fb902dbaaa287ca207857ac (patch) | |
tree | f1106d6442d81c4cc6c42be05836619614c45811 /gas/config | |
parent | f657f8c4a1dc0ac69b16b1dc6eacbf5286f1f0a0 (diff) | |
download | gdb-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.c | 3 |
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 |