summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-11-01 17:49:33 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-11-01 17:49:33 +0000
commitd971a1123f744c8d56de832260fa19ab9d5d0116 (patch)
treeff18763addf9a25097903886ffd891dc84c6d4a8 /llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
parent7ce658388b259863d172a3d6821f7b5cb47494f1 (diff)
downloadbcm5719-llvm-d971a1123f744c8d56de832260fa19ab9d5d0116.tar.gz
bcm5719-llvm-d971a1123f744c8d56de832260fa19ab9d5d0116.zip
[AMDGPU] Check if type transforms to i16 (VI+) when getting AMDGPUISD::FFBH_U32
This will prevent following regression when enabling i16 support (D18049): test/CodeGen/AMDGPU/ctlz.ll test/CodeGen/AMDGPU/ctlz_zero_undef.ll Differential Revision: https://reviews.llvm.org/D25802 llvm-svn: 285716
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
index cddef58d14e..07d2db82e32 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
@@ -25,6 +25,13 @@ class AMDGPUSubtarget;
class MachineRegisterInfo;
class AMDGPUTargetLowering : public TargetLowering {
+private:
+ /// \returns AMDGPUISD::FFBH_U32 node if the incoming \p Op may have been
+ /// legalized from a smaller type VT. Need to match pre-legalized type because
+ /// the generic legalization inserts the add/sub between the select and
+ /// compare.
+ SDValue getFFBH_U32(SelectionDAG &DAG, SDValue Op, const SDLoc &DL) const;
+
protected:
const AMDGPUSubtarget *Subtarget;
OpenPOWER on IntegriCloud