diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 1998-11-25 17:14:35 +0000 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 1998-11-25 17:14:35 +0000 |
commit | f3ed04e72ad438d8de30964d5cc25cdab80e3ab7 (patch) | |
tree | f826ac5b19211f13dae4f500e70f6be1ab55a1e5 | |
parent | de4c7b029c4a5732a4c688bfeba7b58feee18acd (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.md | 10 |
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") |