[binutils-gdb] x86: Don't check if AVX512 template requires AVX512VL

H.J. Lu hjl@sourceware.org
Tue Jun 20 16:57:19 GMT 2023


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

commit c7face14225296a2f5d3ebeb8ace88c166d80c3e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 20 09:32:19 2023 -0700

    x86: Don't check if AVX512 template requires AVX512VL
    
    If the ZMM operand in an AVX12 template also allows XMM or ZMM, this
    template must require AVX512VL.  Drop the AVX512VL requirement check
    on such AVX512 templates.
    
            * config/tc-i386.c (check_VecOperands): Don't check if AVX512
            template requires AVX512VL.

Diff:
---
 gas/config/tc-i386.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index de35ee2a2c6..dcafac0c0cd 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6288,11 +6288,10 @@ check_VecOperands (const insn_template *t)
   /* Templates allowing for ZMMword as well as YMMword and/or XMMword for
      any one operand are implicity requiring AVX512VL support if the actual
      operand size is YMMword or XMMword.  Since this function runs after
-     template matching, there's no need to check for YMMword/XMMword in
-     the template.  */
+     template matching, there's no need to check for YMMword/XMMword nor
+     AVX512VL in the template.  */
   cpu = cpu_flags_and (t->cpu_flags, avx512);
   if (!cpu_flags_all_zero (&cpu)
-      && !t->cpu_flags.bitfield.cpuavx512vl
       && !cpu_arch_flags.bitfield.cpuavx512vl)
     {
       for (op = 0; op < t->operands; ++op)


More information about the Binutils-cvs mailing list