From 45a9968b378d54ced8f742e1ff8b01c9378b339c Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 16 Nov 2016 13:09:12 +0000 Subject: Fix vec_cmp comparison mode vec_cmps assign the result of a vector comparison to a mask. The optab was called with the destination having mode mask_mode but with the source (the comparison) having mode VOIDmode, which led to invalid rtl if the source operand was used directly. gcc/ 2016-11-15 Richard Sandiford Alan Hayward David Sherwood * optabs.c (vector_compare_rtx): Add a cmp_mode parameter and use it in the final call to gen_rtx_fmt_ee. (expand_vec_cond_expr): Update accordingly. (expand_vec_cmp_expr): Likewise. Co-Authored-By: Alan Hayward Co-Authored-By: David Sherwood From-SVN: r242489 --- gcc/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gcc/ChangeLog') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe32d0f..a49cda3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,6 +2,15 @@ Alan Hayward David Sherwood + * optabs.c (vector_compare_rtx): Add a cmp_mode parameter + and use it in the final call to gen_rtx_fmt_ee. + (expand_vec_cond_expr): Update accordingly. + (expand_vec_cmp_expr): Likewise. + +2016-11-16 Richard Sandiford + Alan Hayward + David Sherwood + * cprop.c (local_cprop_find_used_regs): Use df_read_modify_subreg_p. 2016-11-16 Richard Biener -- cgit v1.1