diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2020-01-04 17:06:47 -0500 |
|---|---|---|
| committer | Matt Arsenault <arsenm2@gmail.com> | 2020-01-06 17:21:51 -0500 |
| commit | 1060b9e23b8f9d2802835896947ec281ba3b4f6b (patch) | |
| tree | 504968dc2c855393fea9faeda26f1986d18a8ed6 /llvm/lib/CodeGen | |
| parent | 0b093f02120e212b9c1305eae626e9b5e99b92fa (diff) | |
| download | bcm5719-llvm-1060b9e23b8f9d2802835896947ec281ba3b4f6b.tar.gz bcm5719-llvm-1060b9e23b8f9d2802835896947ec281ba3b4f6b.zip | |
GlobalISel: Correct result type for G_FCMP in lowerFPTOUI
Using the final result type doesn't make any sense. Use the natural
default boolean type for the select condition.
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp index 52c43f0cc93..bb3ece32c1a 100644 --- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -3996,8 +3996,10 @@ LegalizerHelper::lowerFPTOUI(MachineInstr &MI, unsigned TypeIdx, LLT Ty) { MachineInstrBuilder ResHighBit = MIRBuilder.buildConstant(DstTy, TwoPExpInt); MachineInstrBuilder Res = MIRBuilder.buildXor(DstTy, ResLowBits, ResHighBit); + const LLT S1 = LLT::scalar(1); + MachineInstrBuilder FCMP = - MIRBuilder.buildFCmp(CmpInst::FCMP_ULT, DstTy, Src, Threshold); + MIRBuilder.buildFCmp(CmpInst::FCMP_ULT, S1, Src, Threshold); MIRBuilder.buildSelect(Dst, FCMP, FPTOSI, Res); MI.eraseFromParent(); |

