aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Sparc
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2013-05-19 20:38:21 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2013-05-19 20:38:21 +0000
commit60abcb786e8ff401e7d925d717e725d4a3d925b5 (patch)
tree44fbe753c2e51718030189cc9cded87d2395e256 /lib/Target/Sparc
parent2ed2ad00f9b54e015bc38ece1492eec50163dd9a (diff)
downloadexternal_llvm-60abcb786e8ff401e7d925d717e725d4a3d925b5.zip
external_llvm-60abcb786e8ff401e7d925d717e725d4a3d925b5.tar.gz
external_llvm-60abcb786e8ff401e7d925d717e725d4a3d925b5.tar.bz2
Select i64 values with %icc conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182224 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r--lib/Target/Sparc/SparcInstr64Bit.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcInstr64Bit.td b/lib/Target/Sparc/SparcInstr64Bit.td
index 129b316..3af494e 100644
--- a/lib/Target/Sparc/SparcInstr64Bit.td
+++ b/lib/Target/Sparc/SparcInstr64Bit.td
@@ -340,6 +340,11 @@ def : Pat<(SPselectxcc i64:$t, i64:$f, imm:$cond),
def : Pat<(SPselectxcc (i64 simm11:$t), i64:$f, imm:$cond),
(MOVXCCri (as_i32imm $t), $f, imm:$cond)>;
+def : Pat<(SPselecticc i64:$t, i64:$f, imm:$cond),
+ (MOVICCrr $t, $f, imm:$cond)>;
+def : Pat<(SPselecticc (i64 simm11:$t), i64:$f, imm:$cond),
+ (MOVICCri (as_i32imm $t), $f, imm:$cond)>;
+
def : Pat<(SPselectfcc i64:$t, i64:$f, imm:$cond),
(MOVFCCrr $t, $f, imm:$cond)>;
def : Pat<(SPselectfcc (i64 simm11:$t), i64:$f, imm:$cond),