diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2014-07-10 22:40:21 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2014-07-10 22:40:21 +0000 |
commit | 2cb62ce2a0a532a4feac3fa7d17d7452dfb14997 (patch) | |
tree | 6294e50171cee88998e8b521a1f6a991f8139de9 /llvm/lib/Target/R600/SIISelLowering.cpp | |
parent | eca89d283efffa36054f0ecbd88a14b4b8610c71 (diff) | |
download | bcm5719-llvm-2cb62ce2a0a532a4feac3fa7d17d7452dfb14997.tar.gz bcm5719-llvm-2cb62ce2a0a532a4feac3fa7d17d7452dfb14997.zip |
R600: Implement float to long/ulong
Use alg. from LegalizeDAG.cpp
Move Expand setting to SIISellowering
v2: Extend existing tests instead of creating new ones
v3: use separate LowerFPTOSINT function
v4: use TargetLowering::expandFP_TO_SINT
add comment about using FP_TO_SINT for uints
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Tom Stellard <tom@stellard.net>
llvm-svn: 212773
Diffstat (limited to 'llvm/lib/Target/R600/SIISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/R600/SIISelLowering.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/SIISelLowering.cpp b/llvm/lib/Target/R600/SIISelLowering.cpp index b13c3b8dee2..63d3d385217 100644 --- a/llvm/lib/Target/R600/SIISelLowering.cpp +++ b/llvm/lib/Target/R600/SIISelLowering.cpp @@ -165,6 +165,9 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) : setOperationAction(ISD::LOAD, MVT::i1, Custom); + setOperationAction(ISD::FP_TO_SINT, MVT::i64, Expand); + setOperationAction(ISD::FP_TO_UINT, MVT::i64, Expand); + setOperationAction(ISD::GlobalAddress, MVT::i32, Custom); setOperationAction(ISD::GlobalAddress, MVT::i64, Custom); setOperationAction(ISD::FrameIndex, MVT::i32, Custom); |