summaryrefslogtreecommitdiff
path: root/patches/gcc/3.4.0/pr13250-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/3.4.0/pr13250-fix.patch')
-rw-r--r--patches/gcc/3.4.0/pr13250-fix.patch19
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 0000000..ce68bb1
--- /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]));