[Patch ARM 4_7-branch ] Backport fix for flto failure with neon intrinsics.

Ramana Radhakrishnan ramana.radhakrishnan@linaro.org
Fri May 25 09:58:00 GMT 2012


Hi,

We hit an ICE using lto with neon intrinsics that could be traced back
to an invalid call to convert during expand with LTO . Fixed by
backporting Richi's fix from mainline - checking he had no objections
to this on IRC , tested cross on arm-linux-gnueabi with qemu for no
regressions.

Applied to the FSF 4.7 branch.


regards,
Ramana


2012-05-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

        Backport from mainline
        2012-03-12  Richard Guenther  <rguenther@suse.de>
        * config/arm/arm.c (neon_dereference_pointer): Do not call
        covert during RTL expansion.


Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c	(revision 187800)
+++ gcc/config/arm/arm.c	(working copy)
@@ -20604,9 +20604,8 @@
   array_type = build_array_type (elem_type, build_index_type (upper_bound));

   /* Dereference EXP using that type.  */
-  exp = convert (build_pointer_type (array_type), exp);
   return fold_build2 (MEM_REF, array_type, exp,
-		      build_int_cst (TREE_TYPE (exp), 0));
+		      build_int_cst (build_pointer_type (array_type), 0));
 }

 /* Expand a Neon builtin.  */



More information about the Gcc-patches mailing list