http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60039
--- Comment #7 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- Ugh, then this is an old problem and we've missed to give a correct clobber information to udivsi3_i1 insn for PIC. Does the patch below fix the issue? --- gcc/config/sh/sh.md.orig 2013-09-13 17:38:22.000000000 +0900 +++ gcc/config/sh/sh.md 2014-03-18 11:08:19.868887133 +0900 @@ -2152,6 +2152,7 @@ (udiv:SI (reg:SI R4_REG) (reg:SI R5_REG))) (clobber (reg:SI T_REG)) (clobber (reg:SI PR_REG)) + (clobber (reg:SI R1_REG)) (clobber (reg:SI R4_REG)) (use (match_operand:SI 1 "arith_reg_operand" "r"))] "TARGET_SH1 && TARGET_DIVIDE_CALL_DIV1"