enum rtx_code code = GET_CODE (operands[1]);
rtx ccreg;
+ /* Perverse combinations of architecture options can't be supported
+ as they need conditional instructions. */
+ if (TARGET_THUMB2 && arm_restrict_it && !TARGET_VFP5)
+ FAIL;
if (!arm_validize_comparison (&operands[1], &XEXP (operands[1], 0),
&XEXP (operands[1], 1)))
- FAIL;
+ FAIL;
code = GET_CODE (operands[1]);
ccreg = arm_gen_compare_reg (code, XEXP (operands[1], 0),
enum rtx_code code = GET_CODE (operands[1]);
rtx ccreg;
+ /* Perverse combinations of architecture options can't be supported
+ as they need conditional instructions. */
+ if (TARGET_THUMB2 && arm_restrict_it && !TARGET_VFP5)
+ FAIL;
if (!arm_validize_comparison (&operands[1], &XEXP (operands[1], 0),
&XEXP (operands[1], 1)))
- FAIL;
+ FAIL;
code = GET_CODE (operands[1]);
ccreg = arm_gen_compare_reg (code, XEXP (operands[1], 0),
XEXP (operands[1], 1), NULL_RTX);
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_arch_v7a_fp_hard_ok } */
+/* { dg-add-options arm_arch_v7a_fp_hard } */
+/* { dg-additional-options "-O2 -mrestrict-it" } */
+double max___a, max___b;
+double max() {
+ if (max___a < max___b)
+ return max___b;
+ return max___a;
+}