diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-06-23 18:00:49 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-06-23 18:00:49 +0000 |
commit | 9ad2c7ef924e4e3c782d0c6267ca39e424911df7 (patch) | |
tree | fb51859c697f2146c314e25f8de5dfe408952424 /lib/Target/R600/R600ISelLowering.cpp | |
parent | 5f607c0b392efa72d3dcb6486a2f164528f48ebe (diff) | |
download | llvm-9ad2c7ef924e4e3c782d0c6267ca39e424911df7.tar.gz llvm-9ad2c7ef924e4e3c782d0c6267ca39e424911df7.tar.bz2 llvm-9ad2c7ef924e4e3c782d0c6267ca39e424911df7.tar.xz |
R600: Move add/sub with overflow out of AMDILISelLowering
Add more tests for these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211517 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600/R600ISelLowering.cpp')
-rw-r--r-- | lib/Target/R600/R600ISelLowering.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp index 8c083262f9..612268a58b 100644 --- a/lib/Target/R600/R600ISelLowering.cpp +++ b/lib/Target/R600/R600ISelLowering.cpp @@ -169,6 +169,14 @@ R600TargetLowering::R600TargetLowering(TargetMachine &TM) : setOperationAction(ISD::GlobalAddress, MVT::i32, Custom); + const MVT ScalarIntVTs[] = { MVT::i32, MVT::i64 }; + for (MVT VT : ScalarIntVTs) { + setOperationAction(ISD::ADDC, VT, Expand); + setOperationAction(ISD::SUBC, VT, Expand); + setOperationAction(ISD::ADDE, VT, Expand); + setOperationAction(ISD::SUBE, VT, Expand); + } + setBooleanContents(ZeroOrNegativeOneBooleanContent); setBooleanVectorContents(ZeroOrNegativeOneBooleanContent); setSchedulingPreference(Sched::Source); |