diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2016-11-01 17:49:33 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2016-11-01 17:49:33 +0000 |
| commit | d971a1123f744c8d56de832260fa19ab9d5d0116 (patch) | |
| tree | ff18763addf9a25097903886ffd891dc84c6d4a8 /llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h | |
| parent | 7ce658388b259863d172a3d6821f7b5cb47494f1 (diff) | |
| download | bcm5719-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.h | 7 |
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; |

