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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Earnshaw <rearn...@gcc.gnu.org>:

https://gcc.gnu.org/g:040f8224617ad3924f606c8982da369f898693d1

commit r13-1152-g040f8224617ad3924f606c8982da369f898693d1
Author: Richard Earnshaw <rearn...@arm.com>
Date:   Fri Jun 17 14:25:51 2022 +0100

    arm: fix checking ICE in arm_print_operand [PR106004]

    Sigh, another instance where I incorrectly used XUINT instead of
    UINTVAL.

    I've also made the code here a little more robust (although I think
    this case can't in fact be reached) if the 32-bit clear mask includes
    bit 31.  This case, if reached, would print out an out-of-range value
    based on the size of the compiler's HOST_WIDE_INT type due to
    sign-extension.  We avoid this by masking the value after inversion.

    gcc/ChangeLog:
            PR target/106004
            * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
            Clear bits in the mask above bit 31.

Reply via email to