From 1473f07ceb2b3f67bad75faa29fe19d4d7d2a07e Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Sat, 26 Nov 2016 02:26:04 +0000 Subject: AMDGPU/SI: Use float as the operand type for amdgcn.interp intrinsics Reviewers: arsenm, nhaehnle Subscribers: kzhuravl, wdng, yaxunl, llvm-commits, tony-tye Differential Revision: https://reviews.llvm.org/D26724 llvm-svn: 287962 --- llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp') diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index 04edc91f0a7..5130f041a84 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -2476,6 +2476,8 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, DAG.getConstant(0, DL, MVT::i32)); SDValue J = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::i32, IJ, DAG.getConstant(1, DL, MVT::i32)); + I = DAG.getNode(ISD::BITCAST, DL, MVT::f32, I); + J = DAG.getNode(ISD::BITCAST, DL, MVT::f32, J); SDValue M0 = copyToM0(DAG, DAG.getEntryNode(), DL, Op.getOperand(3)); SDValue Glue = M0.getValue(1); SDValue P1 = DAG.getNode(AMDGPUISD::INTERP_P1, DL, -- cgit v1.2.3