diff options
author | Marek Olsak <marek.olsak@amd.com> | 2015-10-29 15:29:09 +0000 |
---|---|---|
committer | Marek Olsak <marek.olsak@amd.com> | 2015-10-29 15:29:09 +0000 |
commit | 6f6d318e16642c1860f3693cd2a7e82133fe2746 (patch) | |
tree | 7d79b9d7fe82e818df4976de0d32c24320884bcf /llvm/lib/Target/AMDGPU/SIISelLowering.cpp | |
parent | 74d084f466c3d9824dcd51b9b865b5721504bca6 (diff) | |
download | bcm5719-llvm-6f6d318e16642c1860f3693cd2a7e82133fe2746.tar.gz bcm5719-llvm-6f6d318e16642c1860f3693cd2a7e82133fe2746.zip |
AMDGPU/SI: handle undef for llvm.SI.packf16
llvm-svn: 251632
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index c9bc352703c..3cddafc465d 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -1091,6 +1091,10 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, DAG.getConstant(2, DL, MVT::i32), // P0 Op.getOperand(1), Op.getOperand(2), Glue); } + case AMDGPUIntrinsic::SI_packf16: + if (Op.getOperand(1).isUndef() && Op.getOperand(2).isUndef()) + return DAG.getUNDEF(MVT::i32); + return Op; case AMDGPUIntrinsic::SI_fs_interp: { SDValue IJ = Op.getOperand(4); SDValue I = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::i32, IJ, |