diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-06-10 19:18:28 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-06-10 19:18:28 +0000 |
| commit | 6042506b5c2ccfab5843d3bdef6f0d3adb87a5d3 (patch) | |
| tree | 4a122cfa3798fc5551894178970926eaa20fbaac /llvm/lib/Target/R600/AMDGPUISelLowering.cpp | |
| parent | 8333e4378e03c5f13fb8b90ca8a0f76c716665b5 (diff) | |
| download | bcm5719-llvm-6042506b5c2ccfab5843d3bdef6f0d3adb87a5d3.tar.gz bcm5719-llvm-6042506b5c2ccfab5843d3bdef6f0d3adb87a5d3.zip | |
R600: Use BCNT_INT for evergreen
llvm-svn: 210569
Diffstat (limited to 'llvm/lib/Target/R600/AMDGPUISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/R600/AMDGPUISelLowering.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp index 8ee453de352..83d80f0d5c3 100644 --- a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp +++ b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp @@ -220,9 +220,13 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) : setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); } + if (!Subtarget->hasBCNT(32)) + setOperationAction(ISD::CTPOP, MVT::i32, Expand); + + if (!Subtarget->hasBCNT(64)) + setOperationAction(ISD::CTPOP, MVT::i64, Expand); + for (MVT VT : { MVT::i32, MVT::i64 }) { - // TODO: Evergreen has BCNT_INT for CTPOP - setOperationAction(ISD::CTPOP, VT, Expand); setOperationAction(ISD::CTTZ, VT, Expand); setOperationAction(ISD::CTLZ, VT, Expand); } |

