[Bug target/96125] __attribute__((target("cpu=power10,mma"))) does not set TARGET_MMA

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jul 9 20:59:14 GMT 2020


--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Peter Bergner <bergner@gcc.gnu.org>:


commit r11-1973-gfd263be4b523ff1b7f7dda49d856cc57221e8d21
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Thu Jul 9 15:52:59 2020 -0500

    rs6000: Allow MMA built-in initialization regardless of compiler options

    Built-in initialization occurs only once and fairly early, when the
    command line options are in force.  If the -mcpu=<CPU> is pre-power10,
    then we fail to initialize the MMA built-ins, so they are not
    available to call in a #pragma target/attribute target function.
    The fix is to basically always (on server type cpus) initialize the MMA
    built-ins so we can use them in #pragma target/attribute target functions.

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

            PR target/96125
            * config/rs6000/rs6000-call.c (rs6000_init_builtins): Define the
            specific types __vector_quad and __vector_pair, and initialize the
            MMA built-ins if TARGET_EXTRA_BUILTINS is set.
            (mma_init_builtins): Don't test for mask set in
            Remove now unneeded mask variable.
            * config/rs6000/rs6000.c (rs6000_option_override_internal): Add the
            OPTION_MASK_MMA flag for power10 if not already set.

            PR target/96125
            * gcc.target/powerpc/pr96125.c: New test.

More information about the Gcc-bugs mailing list