Message ID | DM4PR11MB548794AB09C07BD727B390A8EC782@DM4PR11MB5487.namprd11.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | i386: Fix scalar VCOMSBF16 which only compares low word | expand |
> -----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 --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}"