[Bug target/99041] combine creates invalid address which ICEs in decompose_normal_address

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 11 20:16:24 GMT 2021


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

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

https://gcc.gnu.org/g:2432c47970024db6410708b582a901259dabaae1

commit r11-7196-g2432c47970024db6410708b582a901259dabaae1
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Thu Feb 11 14:15:26 2021 -0600

    rs6000: Fix invalid address used in MMA built-in function

    The mma_assemble_input_operand predicate is too lenient on the memory
    operands it will accept, leading to an ICE when illegitimate addresses
    are passed in.  The solution is to only accept memory operands with
    addresses that are valid for quad word memory accesses.  The test case
    is a minimized test case from the Eigen library.  The creduced test case
    is very noisy with respect to warnings, so the test case has added -w to
    silence them.

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

    gcc/
            PR target/99041
            * config/rs6000/predicates.md (mma_assemble_input_operand):
Restrict
            memory addresses that are legal for quad word accesses.

    gcc/testsuite/
            PR target/99041
            * g++.target/powerpc/pr99041.C: New test.


More information about the Gcc-bugs mailing list