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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The two builtins share DECL_ASSEMBLER_NAME, __ssabs_2.  Can it be the AVR
backend misuses DECL_ASSEMBLER_NAME for builtins somehow?  They have different
return mode, HQ vs. HA mode.

It might be possible to avoid diagnosing this but the middle-end can't see
that there is no ABI issue.

 <function_decl 0x2aaaac0ea700 __builtin_avr_abshk
    type <function_type 0x2aaaac0dfdc8
        type <fixed_point_type 0x2aaaac039dc8 HA
            size <integer_cst 0x2aaaac0258d0 constant 16>
            unit size <integer_cst 0x2aaaac0258e8 constant 2>
            align 8 symtab 0 alias set -1 canonical type 0x2aaaac039c78
precision 16>
        QI
        size <integer_cst 0x2aaaac025a20 constant 8>
        unit size <integer_cst 0x2aaaac025a38 constant 1>
        align 8 symtab 0 alias set -1 structural equality
        arg-types <tree_list 0x2aaaac0e8528 value <fixed_point_type
0x2aaaac039dc8>
            chain <tree_list 0x2aaaac028ac8 value <void_type 0x2aaaac036150
void>>>
        pointer_to_this <pointer_type 0x2aaaac0dfd20>>
    addressable public external built-in HI file <built-in> line 0 col 0
    align 8 built-in BUILT_IN_MD 17 context <translation_unit_decl
0x2aaaac0eb000 D.1447>>

 <function_decl 0x2aaaac0ea900 __builtin_avr_absr
    type <function_type 0x2aaaac0dfbd0
        type <fixed_point_type 0x2aaaac0395e8 HQ
            size <integer_cst 0x2aaaac0258d0 constant 16>
            unit size <integer_cst 0x2aaaac0258e8 constant 2>
            align 8 symtab 0 alias set -1 canonical type 0x2aaaac039498
precision 16>
        QI
        size <integer_cst 0x2aaaac025a20 constant 8>
        unit size <integer_cst 0x2aaaac025a38 constant 1>
        align 8 symtab 0 alias set -1 structural equality
        arg-types <tree_list 0x2aaaac0e8618 value <fixed_point_type
0x2aaaac0395e8>
            chain <tree_list 0x2aaaac028ac8 value <void_type 0x2aaaac036150
void>>>
        pointer_to_this <pointer_type 0x2aaaac0ec0a8>>
    addressable public external built-in HI file <built-in> line 0 col 0
    align 8 built-in BUILT_IN_MD 14 context <translation_unit_decl
0x2aaaac0eb000 D.1447>>

Reply via email to