On Wed, May 3, 2017 at 9:38 AM, Bin.Cheng wrote: > On Wed, May 3, 2017 at 7:17 AM, Eric Botcazou wrote: >>> 2017-04-11 Bin Cheng >>> >>> * rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes. >> >> This breaks bootstrap with RTL checking: >> >> /home/eric/build/gcc/native/./gcc/xgcc -B/home/eric/build/gcc/native/./gcc/ - >> nostdinc -x c /dev/null -S -o /dev/null -fself- >> test=/home/eric/svn/gcc/gcc/testsuite/selftests >> cc1: internal compiler error: RTL check: expected code 'subreg', have >> 'truncate' in rtx_cost, at rtlanal.c:4169 >> 0xbae338 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int, >> char const*) >> /home/eric/svn/gcc/gcc/rtl.c:829 >> 0xbbc9b4 rtx_cost(rtx_def*, machine_mode, rtx_code, int, bool) >> /home/eric/svn/gcc/gcc/rtlanal.c:4169 >> 0x8517e6 set_src_cost >> /home/eric/svn/gcc/gcc/rtl.h:2685 >> 0x8517e6 init_expmed_one_conv >> /home/eric/svn/gcc/gcc/expmed.c:142 >> 0x8517e6 init_expmed_one_mode >> /home/eric/svn/gcc/gcc/expmed.c:209 >> 0x853fb2 init_expmed() >> /home/eric/svn/gcc/gcc/expmed.c:270 >> 0xc45974 backend_init_target >> /home/eric/svn/gcc/gcc/toplev.c:1665 >> 0xc45974 initialize_rtl() >> > Sorry for disturbing, I will revert this if can't fix today. It looks bogus and I couldn't find the motivating case for it, so revert with attached patch. Build on x86 and commit as obvious. Thanks, bin 2017-05-03 Bin Cheng Revert 2017-05-02 Bin Cheng * rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.