From c7face14225296a2f5d3ebeb8ace88c166d80c3e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 20 Jun 2023 09:32:19 -0700 Subject: [PATCH] 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. --- 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) -- 2.30.2