From 0a35ff4ecdd22745bda9afd8fe095fb469acd624 Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Thu, 25 Feb 2021 21:35:28 -0600 Subject: [PATCH] rs6000: Fix ICE in rs6000_init_builtins when compiling with -mcpu=440 [PR99279] The initialization of compat builtins assumes the builtin we are creating a compatible builtin for exists and ICEs if it doesn't. However, there are valid reasons why some builtins are disabled for a particular compile. In this case, the MMA builtins are disabled for -mcpu=440 (and other cpus), so instead of ICEing, we should just skip adding the MMA compat builtin. 2021-02-25 Peter Bergner gcc/ PR target/99279 * config/rs6000/rs6000-call.c (rs6000_init_builtins): Replace assert with an "if" test. (cherry picked from commit 0159535adb0e7400f2c6922f14a7602f6b90cf69) --- gcc/config/rs6000/rs6000-call.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c index e1e0d306ae30..538a57adcebe 100644 --- a/gcc/config/rs6000/rs6000-call.c +++ b/gcc/config/rs6000/rs6000-call.c @@ -12532,9 +12532,9 @@ rs6000_init_builtins (void) for (i = 0; i < ARRAY_SIZE (bdesc_compat); i++, d++) { tree decl = rs6000_builtin_decls[(int)d->code]; - gcc_assert (decl != NULL); - add_builtin_function (d->name, TREE_TYPE (decl), (int)d->code, - BUILT_IN_MD, NULL, NULL_TREE); + if (decl != NULL) + add_builtin_function (d->name, TREE_TYPE (decl), (int)d->code, + BUILT_IN_MD, NULL, NULL_TREE); } } -- 2.47.2