Skip to content

Commit a05deda

Browse files
committed
AMDGPU: Improve v16f16/v16bf16 copysign handling
1 parent 196b010 commit a05deda

File tree

3 files changed

+126
-876
lines changed

3 files changed

+126
-876
lines changed

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ 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},
762+
MVT::v8f16, MVT::v8bf16, MVT::v16f16, MVT::v16bf16},
763763
Custom);
764764

765765
setOperationAction({ISD::FMAXNUM, ISD::FMINNUM}, MVT::f16, Custom);
@@ -5942,8 +5942,8 @@ SDValue SITargetLowering::splitBinaryVectorOp(SDValue Op,
59425942
assert(VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16 ||
59435943
VT == MVT::v4f32 || VT == MVT::v8i16 || VT == MVT::v8f16 ||
59445944
VT == MVT::v8bf16 || VT == MVT::v16i16 || VT == MVT::v16f16 ||
5945-
VT == MVT::v8f32 || VT == MVT::v16f32 || VT == MVT::v32f32 ||
5946-
VT == MVT::v32i16 || VT == MVT::v32f16);
5945+
VT == MVT::v16bf16 || VT == MVT::v8f32 || VT == MVT::v16f32 ||
5946+
VT == MVT::v32f32 || VT == MVT::v32i16 || VT == MVT::v32f16);
59475947

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

0 commit comments

Comments
 (0)