diff options
author | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-08-30 14:55:11 -0500 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-08-30 14:58:27 -0500 |
commit | a5027ea2ad22c82adc68e02dae8be7f69131503a (patch) | |
tree | fbe1e5c9bb4faf3c819812585ac6f9d111ed0654 | |
parent | b5bc39317bf4da1d51cb6eccf8afcacc90514602 (diff) | |
download | gcc-a5027ea2ad22c82adc68e02dae8be7f69131503a.zip gcc-a5027ea2ad22c82adc68e02dae8be7f69131503a.tar.gz gcc-a5027ea2ad22c82adc68e02dae8be7f69131503a.tar.bz2 |
rs6000: Add sanity to V2DI_type_node definitions
2021-08-30 Bill Schmidt <wschmidt@linux.ibm.com>
gcc/
* config/rs6000/rs6000-call.c (rs6000_init_builtins): Change
initialization of V2DI_type_node and unsigned_V2DI_type_node.
-rw-r--r-- | gcc/config/rs6000/rs6000-call.c | 31 |
1 files 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)); |