diff options
Diffstat (limited to 'patches/gcc/3.4.0/pr13250-fix.patch')
-rw-r--r-- | patches/gcc/3.4.0/pr13250-fix.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/patches/gcc/3.4.0/pr13250-fix.patch b/patches/gcc/3.4.0/pr13250-fix.patch new file mode 100644 index 00000000..ce68bb1b --- /dev/null +++ b/patches/gcc/3.4.0/pr13250-fix.patch @@ -0,0 +1,19 @@ +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])); |