This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/63545] ICE building GCC hash_table<cselib_hasher,xcallocator>::find_slot_with_hash


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

--- Comment #3 from Bill Klees <bill.klees at teamquest dot com> ---
Simplified Preprocessed source fails with same error
----------------------------------------------------

typedef int TItype __attribute__((mode(TI)));
typedef int DItype __attribute__((mode(DI)));
typedef unsigned int UDItype __attribute__((mode(DI)));

struct DWstruct { DItype high, low; };

typedef union
{
    struct DWstruct s;
    TItype ll;
} DWunion;

TItype
__multi3(TItype u, TItype v)
{
    const DWunion uu = { .ll = u };
    const DWunion vv = { .ll = v };
    DWunion w = { .ll = ({ DWunion __w; __asm__("xma.hu %0 = %2, %3,
f0\n\txma.l %1 = %2, %3, f0" : "=&f" (__w.s.high)
        , "=f" (__w.s.low) : "f" (uu.s.low), "f" (vv.s.low)); __w.ll; }) };

    w.s.high += ((UDItype)uu.s.low * (UDItype)vv.s.high
        + (UDItype)uu.s.high * (UDItype)vv.s.low);

    return w.ll;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]