On 23/02/2020 21:25, Vladimir Makarov wrote:
The following patch is for

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

The patch was successfully bootstrapped on x86-64 and benchmarked on SPEC2000.

Since this patch I get an ICE with checking enabled, for amdgcn-amdhsa:

    during RTL pass: reload
    dump file: /scratch/astubbs/amd/upstreamB/tmp/target.283r.reload
    ....../gcc.c-torture/execute/ieee/compare-fp-1.c: In function 'ieq':
....../gcc.c-torture/execute/ieee/compare-fp-1.c:33:1: internal compiler error: in lra_constraints, at lra-constraints.c:5051
       33 | }
          | ^
    0x103d7cf lra_constraints(bool)
            ..../gcc/lra-constraints.c:5051
    0x102541a lra(_IO_FILE*)
            ..../gcc/lra.c:2437
    0xfcc9c9 do_reload
            ..../gcc/ira.c:5523
    0xfcce50 execute
            ..../gcc/ira.c:5709
    Please submit a full bug report,
    with preprocessed source if appropriate.
    Please include the complete backtrace with any bug report.
    See <https://gcc.gnu.org/bugs/> for instructions.

This happens at all optimization levels (but not -O0).

The problem appears to be that the high-part of a register pair is not marked as "ever live". I'm trying to figure out whether this is some kind of target-specific issue that has merely been exposed, but it's difficult to see what's going on. I'm pretty sure I've never seen this one before.

Andrew

Reply via email to