diff mbox series

i386: Fix scalar VCOMSBF16 which only compares low word

Message ID DM4PR11MB548794AB09C07BD727B390A8EC782@DM4PR11MB5487.namprd11.prod.outlook.com
State New
Headers show
Series i386: Fix scalar VCOMSBF16 which only compares low word | expand

Commit Message

Kong, Lingling Oct. 10, 2024, 1:57 a.m. UTC
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(-)

--
2.31.1

Comments

liuhongt Oct. 14, 2024, 7:39 a.m. UTC | #1
> -----Original Message-----
> From: Kong, Lingling <lingling.kong@intel.com>
> Sent: Thursday, October 10, 2024 9:57 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Liu, Hongtao <hongtao.liu@intel.com>; Xu, Liwei <liwei.xu@intel.com>
> Subject: [PATCH] i386: Fix scalar VCOMSBF16 which only compares low word
> 
> Hi,
> 
> Fixed scalar VCOMSBF16 misused in AVX10.2.
> Bootstrapped and regtested on x86_64-pc-linux-gnu{-m64}.
> 
> Ok for trunk?
Ok.
> 
> 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
diff mbox series

Patch

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}"