On Thu, Oct 10, 2019 at 1:46 AM Richard Sandiford <richard.sandif...@arm.com> wrote: > subst tries to avoid creating invalid (zero_extend:DI (const_int N)): > > else if (CONST_SCALAR_INT_P (new_rtx) > && (GET_CODE (x) == ZERO_EXTEND > || GET_CODE (x) == FLOAT > || GET_CODE (x) == UNSIGNED_FLOAT)) > > Does adding SIGN_EXTEND to the list fix the bug?
I missed that. I tried that, and it does work. This looks like a better solution. I'm sending a new patch. Jim