@@ -759,7 +759,8 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
759
759
// Can do this in one BFI plus a constant materialize.
760
760
setOperationAction(ISD::FCOPYSIGN,
761
761
{MVT::v2f16, MVT::v2bf16, MVT::v4f16, MVT::v4bf16,
762
- MVT::v8f16, MVT::v8bf16, MVT::v16f16, MVT::v16bf16},
762
+ MVT::v8f16, MVT::v8bf16, MVT::v16f16, MVT::v16bf16,
763
+ MVT::v32f16, MVT::v32bf16},
763
764
Custom);
764
765
765
766
setOperationAction({ISD::FMAXNUM, ISD::FMINNUM}, MVT::f16, Custom);
@@ -5943,7 +5944,8 @@ SDValue SITargetLowering::splitBinaryVectorOp(SDValue Op,
5943
5944
VT == MVT::v4f32 || VT == MVT::v8i16 || VT == MVT::v8f16 ||
5944
5945
VT == MVT::v8bf16 || VT == MVT::v16i16 || VT == MVT::v16f16 ||
5945
5946
VT == MVT::v16bf16 || VT == MVT::v8f32 || VT == MVT::v16f32 ||
5946
- VT == MVT::v32f32 || VT == MVT::v32i16 || VT == MVT::v32f16);
5947
+ VT == MVT::v32f32 || VT == MVT::v32i16 || VT == MVT::v32f16 ||
5948
+ VT == MVT::v32bf16);
5947
5949
5948
5950
auto [Lo0, Hi0] = DAG.SplitVectorOperand(Op.getNode(), 0);
5949
5951
auto [Lo1, Hi1] = DAG.SplitVectorOperand(Op.getNode(), 1);
0 commit comments