https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64600
Bug ID: 64600 Summary: arm-rtems ICE on valid code (-mcpu=xscale) Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: joel at gcc dot gnu.org $ arm-rtems4.11-gcc --version arm-rtems4.11-gcc (GCC) 5.0.0 20150114 (experimental) Last hash per git: commit d4cbe45aae70e38c12f3cd7430427c98289d7882 The fix for 64460 is in place. Attached test case compiles at -Os but not -O1 or -O2. -O2 without -mcpu=xscale also works. arm-rtems4.11-gcc --pipe -DHAVE_CONFIG_H -I.. -I../../cpukit/../../../gumstix/lib/include -mcpu=xscale -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT src/libcsupport_a-cfgetospeed.o -MD -MP -MF src/.deps/libcsupport_a-cfgetospeed.Tpo -c -o src/libcsupport_a-cfgetospeed.o `test -f 'src/cfgetospeed.c' || echo '../../../../../../rtems/c/src/../../cpukit/libcsupport/'`src/cfgetospeed.c ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/cfgetospeed.c: In function 'cfgetospeed': ../../../../../../rtems/c/src/../../cpukit/libcsupport/src/cfgetospeed.c:37:1: internal compiler error: in decompose, at rtl.h:2005 } ^ 0x41c918 wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) ../../gcc/gcc/rtl.h:2005 0x91eae0 wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) ../../gcc/gcc/rtl.h:2005 0x91eae0 wide_int_ref_storage<false>::wide_int_ref_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&, unsigned int) ../../gcc/gcc/wide-int.h:957 0x91eae0 generic_wide_int<wide_int_ref_storage<false> >::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&, unsigned int) ../../gcc/gcc/wide-int.h:733 0x91eae0 wi::binary_traits<std::pair<rtx_def*, machine_mode>, std::pair<rtx_def*, machine_mode>, wi::int_traits<std::pair<rtx_def*, machine_mode> >::precision_type, wi::int_traits<std::pair<rtx_def*, machine_mode> >::precision_type>::result_type wi::sub<std::pair<rtx_def*, machine_mode>, std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&, std::pair<rtx_def*, machine_mode> const&) ../../gcc/gcc/wide-int.h:2357 0x91eae0 simplify_const_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../gcc/gcc/simplify-rtx.c:3867 0x91bf3f simplify_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../gcc/gcc/simplify-rtx.c:1972 0x91fc77 simplify_associative_operation ../../gcc/gcc/simplify-rtx.c:1929 0x9188cc simplify_binary_operation_1 ../../gcc/gcc/simplify-rtx.c:2967 0xdd4f21 combine_simplify_rtx ../../gcc/gcc/combine.c:5541 0xdd743b subst ../../gcc/gcc/combine.c:5374 0xdd70c8 subst ../../gcc/gcc/combine.c:5319 0xdd97ce try_combine ../../gcc/gcc/combine.c:3266 0xddef81 combine_instructions ../../gcc/gcc/combine.c:1312 0xddef81 rest_of_handle_combine ../../gcc/gcc/combine.c:14094 0xddef81 execute ../../gcc/gcc/combine.c:14137 Please submit a full bug report, with preprocessed source if appropriate.