From 81bf52f56416c91706c32f651b411e4f4adfb413 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 17 Aug 2018 17:26:11 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm-builtins.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 420b9addeca..30ec7df4433 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-08-17 Szabolcs Nagy + + * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Clear + polyNxK_t element's TYPE_STRING_FLAG. + 2018-08-17 Segher Boessenkool * 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 183a7b907f6..563ca51dcd0 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; -- 2.30.2