Commit 1098bd0e authored by Doug Gilbert's avatar Doug Gilbert Committed by Patrick Williams

Fix where signed compare should be unsigned compare

parent b54c77d1
...@@ -19217,21 +19217,26 @@ output_fused_cbranch (rtx operands[], const char *label, rtx insn) ...@@ -19217,21 +19217,26 @@ output_fused_cbranch (rtx operands[], const char *label, rtx insn)
case UNEQ: case UNEQ:
ccode = "eq"; ccode = "eq";
break; break;
case GE:
case GEU: case GEU:
logical = "l";
case GE:
ccode = "ge"; ccode = "ge";
break; break;
case GT:
case GTU: case GTU:
logical = "l";
case GT:
case UNGT: case UNGT:
ccode = "gt"; ccode = "gt";
break; break;
case LE:
case LEU: case LEU:
logical = "l";
case LE:
ccode = "le"; ccode = "le";
break; break;
case LTU:
logical = "l";
case LT: case LT:
case LTU: case UNLT: case UNLT:
ccode = "lt"; ccode = "lt";
break; break;
default: default:
...@@ -19239,17 +19244,11 @@ output_fused_cbranch (rtx operands[], const char *label, rtx insn) ...@@ -19239,17 +19244,11 @@ output_fused_cbranch (rtx operands[], const char *label, rtx insn)
} }
// Set immediate // Set immediate
// Can't do unsigned(logical) compare on immediate
if(GET_CODE (operands[3]) == CONST_INT) if(GET_CODE (operands[3]) == CONST_INT)
{ {
op3 = INTVAL(operands[3]); op3 = INTVAL(operands[3]);
immed = "i"; immed = "i";
} logical = ""; // There is no cmplwib.. instruction in PPE42
else if( unsigned_reg_p (operands[2]) &&
unsigned_reg_p (operands[3]))
{
logical = "l";
op3 = REGNO(operands[3]);
} }
else else
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment