Hi,

Fixed scalar VCOMSBF16 misused in AVX10.2.
Bootstrapped and regtested on x86_64-pc-linux-gnu{-m64}.

Ok for trunk?

gcc/ChangeLog:

        * config/i386/sse.md (avx10_2_comsbf16_v8bf): Fixed scalar
        operands.
---
 gcc/config/i386/sse.md | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 
d6e2135423d..a529849898e 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -32332,8 +32332,12 @@
 (define_insn "avx10_2_comsbf16_v8bf"
   [(set (reg:CCFP FLAGS_REG)
        (unspec:CCFP
-         [(match_operand:V8BF 0 "register_operand" "v")
-          (match_operand:V8BF 1 "nonimmediate_operand" "vm")]
+         [(vec_select:BF
+            (match_operand:V8BF 0 "register_operand" "v")
+            (parallel [(const_int 0)]))
+          (vec_select:BF
+            (match_operand:V8BF 1 "nonimmediate_operand" "vm")
+            (parallel [(const_int 0)]))]
         UNSPEC_VCOMSBF16))]
   "TARGET_AVX10_2_256"
   "vcomsbf16\t{%1, %0|%0, %1}"
--
2.31.1

Reply via email to