aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-11-17 22:06:56 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-11-17 22:06:56 +0000
commitb3e0017763051820eb2487adfd021b473e463a77 (patch)
tree6aa9441480ca28fc7fdb29793d0ed406056afd93 /lib
parent859804f529d73120a4414c43cae5fc546453a37f (diff)
We were (somehow) getting the wrong branch opcode for setcc float instrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17925 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/Sparc/SparcV8ISelSimple.cpp4
-rw-r--r--lib/Target/SparcV8/SparcV8ISelSimple.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/Sparc/SparcV8ISelSimple.cpp b/lib/Target/Sparc/SparcV8ISelSimple.cpp
index 1a67ebb36c..6af0bf9ab5 100644
--- a/lib/Target/Sparc/SparcV8ISelSimple.cpp
+++ b/lib/Target/Sparc/SparcV8ISelSimple.cpp
@@ -1176,8 +1176,8 @@ void V8ISel::visitSetCondInst(SetCondInst &I) {
case Instruction::SetGE: BranchIdx = 5; break;
}
unsigned Column = 0;
- if (Ty->isSigned()) ++Column;
- if (Ty->isFloatingPoint()) ++Column;
+ if (Ty->isSigned() && !Ty->isFloatingPoint()) Column = 1;
+ if (Ty->isFloatingPoint()) Column = 2;
static unsigned OpcodeTab[3*6] = {
// LLVM SparcV8
// unsigned signed fp
diff --git a/lib/Target/SparcV8/SparcV8ISelSimple.cpp b/lib/Target/SparcV8/SparcV8ISelSimple.cpp
index 1a67ebb36c..6af0bf9ab5 100644
--- a/lib/Target/SparcV8/SparcV8ISelSimple.cpp
+++ b/lib/Target/SparcV8/SparcV8ISelSimple.cpp
@@ -1176,8 +1176,8 @@ void V8ISel::visitSetCondInst(SetCondInst &I) {
case Instruction::SetGE: BranchIdx = 5; break;
}
unsigned Column = 0;
- if (Ty->isSigned()) ++Column;
- if (Ty->isFloatingPoint()) ++Column;
+ if (Ty->isSigned() && !Ty->isFloatingPoint()) Column = 1;
+ if (Ty->isFloatingPoint()) Column = 2;
static unsigned OpcodeTab[3*6] = {
// LLVM SparcV8
// unsigned signed fp