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

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #7 from David Binderman <dcb314 at hotmail dot com> ---
Another test case. 

This C code:

double a;
b;
long double c;
e() { float d = (double)(long double)b; }
__attribute__((optimize(""))) f() { a = c; }

when compiled by recent gcc trunk and compiler flag -ffast-math,
does this:

uring RTL pass: reload
bug634.c: In function ‘f’:
bug634.c:5:44: internal compiler error: in check_bool_attrs, at recog.c:2169
    5 | __attribute__((optimize(""))) f() { a = c; }
      |                                            ^
0xc42e4c check_bool_attrs(rtx_insn*)
        ../../trunk.git/gcc/recog.c:2168
0xafb3fc lra_update_insn_recog_data(rtx_insn*)
        ../../trunk.git/gcc/lra.c:1260
0xb18199 eliminate_regs_in_insn(rtx_insn*, bool, bool, poly_int<1u, long>)
        ../../trunk.git/gcc/lra-eliminations.c:0
0xb18b87 process_insn_for_elimination(rtx_insn*, bool, bool)
        ../../trunk.git/gcc/lra-eliminations.c:1304

This has been going wrong since sometime before date 20200630.

Reply via email to