Skip to content

Commit f6e957b

Browse files
committed
AMDGPU: Improve v32f16/v32bf16 copysign handling
1 parent 9374893 commit f6e957b

File tree

3 files changed

+999
-2
lines changed

3 files changed

+999
-2
lines changed

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,8 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
759759
// Can do this in one BFI plus a constant materialize.
760760
setOperationAction(ISD::FCOPYSIGN,
761761
{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},
763764
Custom);
764765

765766
setOperationAction({ISD::FMAXNUM, ISD::FMINNUM}, MVT::f16, Custom);
@@ -5943,7 +5944,8 @@ SDValue SITargetLowering::splitBinaryVectorOp(SDValue Op,
59435944
VT == MVT::v4f32 || VT == MVT::v8i16 || VT == MVT::v8f16 ||
59445945
VT == MVT::v8bf16 || VT == MVT::v16i16 || VT == MVT::v16f16 ||
59455946
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);
59475949

59485950
auto [Lo0, Hi0] = DAG.SplitVectorOperand(Op.getNode(), 0);
59495951
auto [Lo1, Hi1] = DAG.SplitVectorOperand(Op.getNode(), 1);

0 commit comments

Comments
 (0)