aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>1998-11-25 17:14:35 +0000
committerMichael Hayes <m.hayes@gcc.gnu.org>1998-11-25 17:14:35 +0000
commitf3ed04e72ad438d8de30964d5cc25cdab80e3ab7 (patch)
treef826ac5b19211f13dae4f500e70f6be1ab55a1e5 /gcc
parentde4c7b029c4a5732a4c688bfeba7b58feee18acd (diff)
downloadgcc-f3ed04e72ad438d8de30964d5cc25cdab80e3ab7.zip
gcc-f3ed04e72ad438d8de30964d5cc25cdab80e3ab7.tar.gz
gcc-f3ed04e72ad438d8de30964d5cc25cdab80e3ab7.tar.bz2
c4x.md (addqi3): Emit addqi3_noclobber pattern during reload.
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern during reload. From-SVN: r23872
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/c4x/c4x.md10
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37b6f60..803fb78 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
+ during reload.
+
Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md
index 58033f0..117e157 100644
--- a/gcc/config/c4x/c4x.md
+++ b/gcc/config/c4x/c4x.md
@@ -1507,13 +1507,21 @@
;
; ADDI
;
+; This is used by reload when it calls gen_add2_insn for address arithmetic
+; so we must emit the pattern that doesn't clobber CC.
+;
(define_expand "addqi3"
[(parallel [(set (match_operand:QI 0 "reg_operand" "")
(plus:QI (match_operand:QI 1 "src_operand" "")
(match_operand:QI 2 "src_operand" "")))
(clobber (reg:CC_NOOV 21))])]
""
- "legitimize_operands (PLUS, operands, QImode);")
+ "legitimize_operands (PLUS, operands, QImode);
+ if (reload_in_progress)
+ {
+ emit_insn (gen_addqi3_noclobber (operands[0], operands[1], operands[2]));
+ DONE;
+ }")
(define_insn "*addqi3_clobber"
[(set (match_operand:QI 0 "reg_operand" "=d,?d,d,c,?c,c")