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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:0319f265eddd17c32cb037b71489d9882a6eb00d

commit r14-9492-g0319f265eddd17c32cb037b71489d9882a6eb00d
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Mar 15 10:10:57 2024 +0100

    expand: EXTEND_BITINT CALL_EXPR results [PR114332]

    The x86-64 and aarch64 psABIs (and the unwritten ia64 psABI part) say that
    the padding bits of _BitInt are undefined, while the expansion internally
    typically assumes that non-mode precision integers are sign/zero extended
    and extends after operations.  We handle that mismatch with EXTEND_BITINT
    done when reading from untrusted sources like function arguments, reading
    _BitInt from memory etc. but otherwise keep relying on stuff being extended
    internally (say in pseudos).
    The return value of a function is an ABI boundary though too and we need
    to extend that too.

    2024-03-15  Jakub Jelinek  <ja...@redhat.com>

            PR middle-end/114332
            * expr.cc (expand_expr_real_1): EXTEND_BITINT also CALL_EXPR
results.

Reply via email to