aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2018-08-17 17:26:11 +0000
committerSzabolcs Nagy <nsz@gcc.gnu.org>2018-08-17 17:26:11 +0000
commit81bf52f56416c91706c32f651b411e4f4adfb413 (patch)
tree6f6872be42c53dce38162e8c65a2dafe2f125387
parent071db4aa1ff88244d87cb4600f23325c9a92042c (diff)
downloadgcc-81bf52f56416c91706c32f651b411e4f4adfb413.zip
gcc-81bf52f56416c91706c32f651b411e4f4adfb413.tar.gz
gcc-81bf52f56416c91706c32f651b411e4f4adfb413.tar.bz2
Fix poly types after PR tree-optimization/71625 strlen optimization
Same as r263561, but for arm: avoid compilation errors caused by poly initializers getting treated as string literals. Tested on arm-none-linux-gnueabihf. gcc/ChangeLog: * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Clear polyNxK_t element's TYPE_STRING_FLAG. From-SVN: r263624
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm-builtins.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 420b9ad..30ec7df 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Clear
+ polyNxK_t element's TYPE_STRING_FLAG.
+
2018-08-17 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (*cbranch, *creturn): Name these patterns
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 183a7b9..563ca51 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -927,6 +927,11 @@ arm_init_simd_builtin_types (void)
(*lang_hooks.types.register_builtin_type) (arm_simd_polyTI_type_node,
"__builtin_neon_poly128");
+ /* Prevent front-ends from transforming poly vectors into string
+ literals. */
+ TYPE_STRING_FLAG (arm_simd_polyQI_type_node) = false;
+ TYPE_STRING_FLAG (arm_simd_polyHI_type_node) = false;
+
/* Init all the element types built by the front-end. */
arm_simd_types[Int8x8_t].eltype = intQI_type_node;
arm_simd_types[Int8x16_t].eltype = intQI_type_node;