further hints : The immediate which gcc wants to move in R_REGS is a (const_int 8) as described in the error message below :
arithmetic.c:197: error: insn does not satisfy its constraints: (insn 1505 903 1506 0 (set (reg:SI 25 $R9) (const_int 8 [0x8])) 0 {movsi_internal} (nil) (nil)) arithmetic.c:197: internal compiler error: in reload_cse_simplify_operands, at postreload.c:391 So I added some debug trace in function 'my_secondary_input_reload_class' to understand why (const_int 8) is not reloaded to C_REGS. 'my_secondary_input_reload_class' is called several times but never with rtl expression (const_int 8). I also checked 'my_preferred_reload_class' function and I don't see expression (const_int 8). Selim