[Bug target/96236] __builtin_mma_disassemble_acc() doesn't store elements correctly in LE mode

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jul 23 17:17:41 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96236

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

https://gcc.gnu.org/g:5497677b497b95a261089d19f5295cc80f99a2b6

commit r10-8522-g5497677b497b95a261089d19f5295cc80f99a2b6
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Wed Jul 22 11:44:35 2020 -0500

    rs6000: __builtin_mma_disassemble_acc() doesn't store elements correctly in
LE mode

    PR96236 shows a problem where we don't correctly store our 512-bit
accumulators
    correctly in little-endian mode.  The patch below detects when we're doing
a
    little-endian memory access and stores to the correct memory locations.

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

    gcc/
            PR target/96236
            * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin):
Handle
            little-endian memory ordering.

    gcc/testsuite/
            PR target/96236
            * gcc.target/powerpc/mma-double-test.c: Update storing results for
            correct little-endian ordering.
            * gcc.target/powerpc/mma-single-test.c: Likewise.

    (cherry picked from commit ae575662833d70cb7d74b9538096c7becc79af14)


More information about the Gcc-bugs mailing list