aboutsummaryrefslogtreecommitdiff
path: root/recipes-devtools/gcc/gcc-linaro-4.6/revert-r106893.patch
blob: c88b3614c40a77290a44901f980d754ef3884eb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
This patch reverts a backport from mainline that fixes an ICE when using LTO
but also introduces a regression when using NEON intrinsics. It's a temporary
workaround till a better fix is available. For details visit:
https://bugs.launchpad.net/gcc-linaro/+bug/1013209

Index: gcc-linaro-4.6-2012.06/gcc/config/arm/arm.c
===================================================================
@@ -20451,8 +20451,10 @@ neon_dereference_pointer (tree exp, enum
   upper_bound = build_int_cst (size_type_node, nelems - 1);
   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 (build_pointer_type (array_type), 0));
+		      build_int_cst (TREE_TYPE (exp), 0));
 }
 
 /* Expand a Neon builtin.  */