mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-14 07:29:01 +00:00
[Sparc] Correct the floating point conditional code mapping in GetOppositeBranchCondition().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192006 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c4eb353c7a
commit
1c9524b624
@ -102,14 +102,14 @@ static SPCC::CondCodes GetOppositeBranchCondition(SPCC::CondCodes CC)
|
||||
|
||||
case SPCC::FCC_U: return SPCC::FCC_O;
|
||||
case SPCC::FCC_O: return SPCC::FCC_U;
|
||||
case SPCC::FCC_G: return SPCC::FCC_LE;
|
||||
case SPCC::FCC_LE: return SPCC::FCC_G;
|
||||
case SPCC::FCC_UG: return SPCC::FCC_ULE;
|
||||
case SPCC::FCC_ULE: return SPCC::FCC_UG;
|
||||
case SPCC::FCC_L: return SPCC::FCC_GE;
|
||||
case SPCC::FCC_GE: return SPCC::FCC_L;
|
||||
case SPCC::FCC_UL: return SPCC::FCC_UGE;
|
||||
case SPCC::FCC_UGE: return SPCC::FCC_UL;
|
||||
case SPCC::FCC_G: return SPCC::FCC_ULE;
|
||||
case SPCC::FCC_LE: return SPCC::FCC_UG;
|
||||
case SPCC::FCC_UG: return SPCC::FCC_LE;
|
||||
case SPCC::FCC_ULE: return SPCC::FCC_G;
|
||||
case SPCC::FCC_L: return SPCC::FCC_UGE;
|
||||
case SPCC::FCC_GE: return SPCC::FCC_UL;
|
||||
case SPCC::FCC_UL: return SPCC::FCC_GE;
|
||||
case SPCC::FCC_UGE: return SPCC::FCC_L;
|
||||
case SPCC::FCC_LG: return SPCC::FCC_UE;
|
||||
case SPCC::FCC_UE: return SPCC::FCC_LG;
|
||||
case SPCC::FCC_NE: return SPCC::FCC_E;
|
||||
|
@ -103,3 +103,35 @@ entry:
|
||||
%1 = select i1 %0, double %f1, double %f2
|
||||
ret double %1
|
||||
}
|
||||
|
||||
define i32 @test_float_cc(double %a, double %b, i32 %c, i32 %d) {
|
||||
entry:
|
||||
; V8-LABEL: test_float_cc
|
||||
; V8: fcmpd
|
||||
; V8: {{fbl|fbuge}} .LBB
|
||||
; V8: fcmpd
|
||||
; V8: {{fbule|fbg}} .LBB
|
||||
|
||||
; V9-LABEL: test_float_cc
|
||||
; V9: fcmpd
|
||||
; V9: {{fbl|fbuge}} .LBB
|
||||
; V9: fcmpd
|
||||
; V9: {{fbule|fbg}} .LBB
|
||||
|
||||
%0 = fcmp uge double %a, 0.000000e+00
|
||||
br i1 %0, label %loop, label %loop.2
|
||||
|
||||
loop:
|
||||
%1 = icmp eq i32 %c, 10
|
||||
br i1 %1, label %loop, label %exit.0
|
||||
|
||||
loop.2:
|
||||
%2 = fcmp ogt double %b, 0.000000e+00
|
||||
br i1 %2, label %exit.1, label %loop
|
||||
|
||||
exit.0:
|
||||
ret i32 0
|
||||
|
||||
exit.1:
|
||||
ret i32 1
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user