https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103624
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Segher Boessenkool <seg...@gcc.gnu.org>:

https://gcc.gnu.org/g:7194397966e6a007cee42360f96834377c3121a4

commit r12-6047-g7194397966e6a007cee42360f96834377c3121a4
Author: Segher Boessenkool <seg...@kernel.crashing.org>
Date:   Fri Dec 17 16:59:55 2021 +0000

    rs6000: Redo darn (PR103624)

    The builtins now all return "long".  The patterns have :GPR as the
    output mode, so they can be 32-bit as well (the instruction makes sense
    in 32 bit just fine).  The builtins expand to the DImode version
    normally, but to the SImode if {32bit} is true.

    2021-12-17  Segher Boessenkool <seg...@kernel.crashing.org>

            PR target/103624
            * config/rs6000/rs6000-builtins.def (__builtin_darn): Expand to
            darn_64_di.  Add {32bit} attribute.  Return long.
            (__builtin_darn_32): Expand to darn_32_di.  Add {32bit} attribute.
            Return long.
            (__builtin_darn_raw): Expand to darn_raw_di.  Add {32bit}
attribute.
            Return long.
            * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Expand the
darn
            builtins to the _si variants for -m32.
            * config/rs6000/rs6000.md (UNSPECV_DARN_32, UNSPECV_DARN_RAW):
Delete.
            (UNSPECV_DARN): Update comment.
            (darn_32, darn_raw, darn): Delete.
            (darn_32_<mode>, darn_64_<mode>, darn_raw_<mode> for GPR): New.
            (@darn<mode> for GPR): New.

Reply via email to