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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bergner at gcc dot gnu.org,
                   |                            |meissner at gcc dot gnu.org

--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
Here's a much smaller C test case.  It seems we try and convert the SFmode var
into a KFmode var before converting it to an integer?!?!

Mike, does this look familiar to you?  Should KFmode even be supported if we've
disabled popcntd?

bergner@pike:~/gcc/BUGS/PR87496$ cat pr87496.c 
unsigned long
foo (float f)
{
  return f;
}
bergner@pike:~/gcc/BUGS/PR87496$
/home/bergner/gcc/build/gcc-fsf-mainline-pr87496-debug/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-pr87496-debug/gcc -O2 -S
-mabi=ieeelongdouble -mno-popcntd pr87496.c 
cc1: warning: Using IEEE extended precision long double [-Wpsabi]
during RTL pass: expand
pr87496.c: In function ‘foo’:
pr87496.c:4:10: internal compiler error: Segmentation fault
    4 |   return f;
      |          ^
0x1110517b crash_signal
        /home/bergner/gcc/gcc-fsf-mainline-pr87496/gcc/toplev.c:326
0x109e52f0 aggregate_value_p(tree_node const*, tree_node const*)
        /home/bergner/gcc/gcc-fsf-mainline-pr87496/gcc/function.c:2091
0x10652fa3 emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type,
machine_mode, int, std::pair<rtx_def*, machine_mode>*)
        /home/bergner/gcc/gcc-fsf-mainline-pr87496/gcc/calls.c:4747
0x108d894b emit_library_call_value(rtx_def*, rtx_def*, libcall_type,
machine_mode, rtx_def*, machine_mode)
        /home/bergner/gcc/gcc-fsf-mainline-pr87496/gcc/rtl.h:4201
0x117edc13 rs6000_expand_float128_convert(rtx_def*, rtx_def*, bool)
       
/home/bergner/gcc/gcc-fsf-mainline-pr87496/gcc/config/rs6000/rs6000.c:21918

Reply via email to