From a5027ea2ad22c82adc68e02dae8be7f69131503a Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Mon, 30 Aug 2021 14:55:11 -0500 Subject: [PATCH] rs6000: Add sanity to V2DI_type_node definitions 2021-08-30 Bill Schmidt gcc/ * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change initialization of V2DI_type_node and unsigned_V2DI_type_node. --- gcc/config/rs6000/rs6000-call.c | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c index 87f9709..df405e1 100644 --- a/gcc/config/rs6000/rs6000-call.c +++ b/gcc/config/rs6000/rs6000-call.c @@ -13297,15 +13297,23 @@ rs6000_init_builtins (void) tree ftype; tree t; machine_mode mode; + const char *str; if (TARGET_DEBUG_BUILTIN) fprintf (stderr, "rs6000_init_builtins%s%s\n", (TARGET_ALTIVEC) ? ", altivec" : "", (TARGET_VSX) ? ", vsx" : ""); - V2DI_type_node = rs6000_vector_type (TARGET_POWERPC64 ? "__vector long" - : "__vector long long", - long_long_integer_type_node, 2); + if (new_builtins_are_live) + V2DI_type_node = rs6000_vector_type ("__vector long long", + long_long_integer_type_node, 2); + else + { + str = TARGET_POWERPC64 ? "__vector long" : "__vector long long"; + V2DI_type_node = rs6000_vector_type (str, + long_long_integer_type_node, + 2); + } ptr_V2DI_type_node = build_pointer_type (build_qualified_type (V2DI_type_node, TYPE_QUAL_CONST)); @@ -13356,10 +13364,19 @@ rs6000_init_builtins (void) = build_pointer_type (build_qualified_type (unsigned_V4SI_type_node, TYPE_QUAL_CONST)); - unsigned_V2DI_type_node = rs6000_vector_type (TARGET_POWERPC64 - ? "__vector unsigned long" - : "__vector unsigned long long", - long_long_unsigned_type_node, 2); + if (new_builtins_are_live) + unsigned_V2DI_type_node + = rs6000_vector_type ("__vector unsigned long long", + long_long_unsigned_type_node, 2); + else + { + str = TARGET_POWERPC64 + ? "__vector unsigned long" + : "__vector unsigned long long"; + unsigned_V2DI_type_node + = rs6000_vector_type (str, long_long_unsigned_type_node, 2); + } + ptr_unsigned_V2DI_type_node = build_pointer_type (build_qualified_type (unsigned_V2DI_type_node, TYPE_QUAL_CONST)); -- 2.7.4