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 <berg...@gcc.gnu.org>: https://gcc.gnu.org/g:5497677b497b95a261089d19f5295cc80f99a2b6 commit r10-8522-g5497677b497b95a261089d19f5295cc80f99a2b6 Author: Peter Bergner <berg...@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 <berg...@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)