}
/* Unsigned parallel compare is not supported by the hardware. Play some
- tricks to turn this into a GT comparison against 0. */
+ tricks to turn this into a signed comparison against 0. */
if (code == GTU)
{
switch (mode)
in the sign bit set iff we saw unsigned underflow. */
x = gen_reg_rtx (V2SImode);
emit_insn (gen_xorv2si3 (x, t1, t2));
+
+ code = GT;
+ op0 = x;
+ op1 = CONST0_RTX (mode);
}
break;
x = gen_reg_rtx (mode);
emit_insn (gen_rtx_SET (VOIDmode, x,
gen_rtx_US_MINUS (mode, op0, op1)));
+
+ code = EQ;
+ op0 = x;
+ op1 = CONST0_RTX (mode);
+ negate = !negate;
break;
default:
gcc_unreachable ();
}
-
- code = GT;
- op0 = x;
- op1 = CONST0_RTX (mode);
}
x = gen_rtx_fmt_ee (code, mode, op0, op1);