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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The problem is that the builtin has __vector signed int arguments:
 <function_decl 0x7fffefda2700 __builtin_altivec_vadduwm
    type <function_type 0x7fffefda07e0
        type <vector_type 0x7fffefd547e0 __vector signed int type <integer_type
0x7fffefc8f5e8 int>
            V4SI
            size <integer_cst 0x7fffefc91000 constant 128>
            unit-size <integer_cst 0x7fffefc91018 constant 16>
            align:128 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffefd54738 nunits:4>
        SI
        size <integer_cst 0x7fffefc911f8 constant 32>
        unit-size <integer_cst 0x7fffefc91210 constant 4>
        align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffefd742a0
        arg-types <tree_list 0x7fffefd9d618 value <vector_type 0x7fffefd547e0
__vector signed int>
            chain <tree_list 0x7fffefd9d640 value <vector_type 0x7fffefd547e0
__vector signed int>
                chain <tree_list 0x7fffefc92050 value <void_type 0x7fffefc8ff18
void>>>>
        pointer_to_this <pointer_type 0x7fffefe53348>>
    readonly nothrow public external built-in decl_6 SI <built-in>:0:0
    align:32 warn_if_not_align:0 built-in: BUILT_IN_MD:48 context
<translation_unit_decl 0x7fffefe1aac8 pr88234.c> chain <function_decl
0x7fffefda2800 __builtin_altivec_vaddfp>>

Guess most of the builtins have those, so the easiest fix to me seems to be to
cast it in the gimple_fold targhook.

Reply via email to