]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: Harden mma_init_builtins
authorPeter Bergner <bergner@linux.ibm.com>
Wed, 7 Jul 2021 16:39:34 +0000 (11:39 -0500)
committerPeter Bergner <bergner@linux.ibm.com>
Wed, 7 Jul 2021 16:51:19 +0000 (11:51 -0500)
The previous MMA patch added some fragile code to initialize its new
built-ins.  This patch hardens the initialization.

2021-07-07  Peter Bergner  <bergner@linux.ibm.com>

gcc/
* config/rs6000/rs6000-call.c (mma_init_builtins): Use VSX_BUILTIN_LXVP
and VSX_BUILTIN_STXVP.

(cherry picked from commit 6278065af07634278ba30029d92a82b089969baa)

gcc/config/rs6000/rs6000-call.c

index 273cf8927da0e5f67883ec49739dc3e1fe0326c3..7059f4fab1c7edccfdff3eac83837e1122a08c1d 100644 (file)
@@ -14318,7 +14318,8 @@ mma_init_builtins (void)
          /* Some MMA built-ins that are expanded into gimple are converted
             into internal MMA built-ins that are expanded into rtl.
             The internal built-in follows immediately after this built-in.  */
-         if (d[1].icode != CODE_FOR_nothing)
+         if (d->code != VSX_BUILTIN_LXVP
+             && d->code != VSX_BUILTIN_STXVP)
            {
              op[nopnds++] = void_type_node;
              icode = d[1].icode;