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