aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-03-15 19:51:19 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-03-15 19:51:19 +0000
commitf23e3a2d382254c338e4bfb2337ce4ad1e45e27e (patch)
tree5d9a119e00406606d988b29aaed2dda75bd99131
parent36a13cdeeade48e80bdfe8e9d9962ba0c5e33b5a (diff)
sure, I can set a flag, but if I never check it, why bother setting it? Should fix 20 programs :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20623 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Alpha/AlphaISelPattern.cpp4
-rw-r--r--lib/Target/Alpha/AlphaInstrInfo.td4
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/Alpha/AlphaISelPattern.cpp b/lib/Target/Alpha/AlphaISelPattern.cpp
index 99bb9b9963..0e0e0ac314 100644
--- a/lib/Target/Alpha/AlphaISelPattern.cpp
+++ b/lib/Target/Alpha/AlphaISelPattern.cpp
@@ -1291,8 +1291,8 @@ unsigned ISel::SelectExpr(SDOperand N) {
BuildMI(BB, Opc, 2, Tmp3).addReg(Tmp1).addReg(Tmp2);
//now arrange for Result (int) to have a 1 or 0
-
- BuildMI(BB, Alpha::CC2INT, 1, Result).addReg(Tmp3);
+ Opc = inv?Alpha::CC2INT_INV:Alpha::CC2INT;
+ BuildMI(BB, Opc, 1, Result).addReg(Tmp3);
// // Spill the FP to memory and reload it from there.
// unsigned Size = MVT::getSizeInBits(MVT::f64)/8;
diff --git a/lib/Target/Alpha/AlphaInstrInfo.td b/lib/Target/Alpha/AlphaInstrInfo.td
index 97f0bd6b70..9d4b91dc6a 100644
--- a/lib/Target/Alpha/AlphaInstrInfo.td
+++ b/lib/Target/Alpha/AlphaInstrInfo.td
@@ -88,8 +88,10 @@ let Uses = [R29],
}
//This is an improvement on the old style setcc (FP)
-def CC2INT : PseudoInstAlpha<(ops GPRC:$RES, FPRC:$COND),
+def CC2INT_INV : PseudoInstAlpha<(ops GPRC:$RES, FPRC:$COND),
"lda $RES,1($$31)\n\tfbeq $COND, 42f\n\tbis $$31,$$31,$RES\n42:\n">;
+def CC2INT : PseudoInstAlpha<(ops GPRC:$RES, FPRC:$COND),
+ "lda $RES,1($$31)\n\tfbne $COND, 42f\n\tbis $$31,$$31,$RES\n42:\n">;
//***********************
//Real instructions