See http://gcc.gnu.org/PR13250 Fixes bad code generated when compiling SHA256 for SH processor =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v retrieving revision 1.171 retrieving revision 1.172 diff -u -r1.171 -r1.172 --- gcc/gcc/config/sh/sh.md 2004/05/10 23:25:13 1.171 +++ gcc/gcc/config/sh/sh.md 2004/05/28 05:47:36 1.172 @@ -2194,7 +2194,7 @@ parts[0] = gen_reg_rtx (SImode); parts[1] = gen_reg_rtx (SImode); emit_insn (gen_rotlsi3_16 (parts[2-choice], operands[1])); - parts[choice-1] = operands[1]; + emit_move_insn (parts[choice-1], operands[1]); emit_insn (gen_ashlsi3 (parts[0], parts[0], GEN_INT (8))); emit_insn (gen_lshrsi3 (parts[1], parts[1], GEN_INT (8))); emit_insn (gen_iorsi3 (operands[0], parts[0], parts[1]));