https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104914
--- Comment #20 from YunQiang Su <syq at gcc dot gnu.org> --- This patch has 2 problems: 1. We may need some more steps to add gcc_assert (outprec < inprec) Now, I met some ICE with it. 2. It doesn't solve the this problem: In combine.cc, jump_insn eats truncate and sign_extend. In fact that is the real problem: How to tell combine.cc: don't eat it; this truncate/sign_extend is really needed by us.