enum rtx_code = (enum rtx_code)0);
void aarch64_expand_sve_vec_cmp_int (rtx, rtx_code, rtx, rtx);
-bool aarch64_expand_sve_vec_cmp_float (rtx, rtx_code, rtx, rtx, bool);
+void aarch64_expand_sve_vec_cmp_float (rtx, rtx_code, rtx, rtx);
bool aarch64_prepare_sve_int_fma (rtx *, rtx_code);
bool aarch64_prepare_sve_cond_int_fma (rtx *, rtx_code);
/* Expand an SVE floating-point comparison using the SVE equivalent of:
- (set TARGET (CODE OP0 OP1))
-
- If CAN_INVERT_P is true, the caller can also handle inverted results;
- return true if the result is in fact inverted. */
+ (set TARGET (CODE OP0 OP1)). */
-bool
-aarch64_expand_sve_vec_cmp_float (rtx target, rtx_code code,
- rtx op0, rtx op1, bool can_invert_p)
+void
+aarch64_expand_sve_vec_cmp_float (rtx target, rtx_code code, rtx op0, rtx op1)
{
machine_mode pred_mode = GET_MODE (target);
machine_mode data_mode = GET_MODE (op0);
case GE:
case EQ:
case NE:
- {
- /* There is native support for the comparison. */
- aarch64_emit_sve_fp_cond (target, code, ptrue, true, op0, op1);
- return false;
- }
+ /* There is native support for the comparison. */
+ aarch64_emit_sve_fp_cond (target, code, ptrue, true, op0, op1);
+ return;
case LTGT:
/* This is a trapping operation (LT or GT). */
aarch64_emit_sve_or_fp_conds (target, LT, GT, ptrue, true, op0, op1);
- return false;
+ return;
case UNEQ:
if (!flag_trapping_math)
op1 = force_reg (data_mode, op1);
aarch64_emit_sve_or_fp_conds (target, UNORDERED, EQ,
ptrue, true, op0, op1);
- return false;
+ return;
}
/* fall through */
case UNLT:
code = NE;
else
code = reverse_condition_maybe_unordered (code);
- if (can_invert_p)
- {
- aarch64_emit_sve_fp_cond (target, code,
- ordered, false, op0, op1);
- return true;
- }
aarch64_emit_sve_invert_fp_cond (target, code,
ordered, false, op0, op1);
- return false;
+ return;
}
break;
/* There is native support for the inverse comparison. */
code = reverse_condition_maybe_unordered (code);
- if (can_invert_p)
- {
- aarch64_emit_sve_fp_cond (target, code, ptrue, true, op0, op1);
- return true;
- }
aarch64_emit_sve_invert_fp_cond (target, code, ptrue, true, op0, op1);
- return false;
}
/* Return true if: