From f3ed04e72ad438d8de30964d5cc25cdab80e3ab7 Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Wed, 25 Nov 1998 17:14:35 +0000 Subject: [PATCH] c4x.md (addqi3): Emit addqi3_noclobber pattern during reload. * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern during reload. From-SVN: r23872 --- gcc/ChangeLog | 5 +++++ gcc/config/c4x/c4x.md | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37b6f60f457..803fb78e579 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 26 14:12:05 1998 Michael Hayes + + * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern + during reload. + Wed Nov 25 22:05:28 1998 J"orn Rennecke * 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 58033f02c7a..117e1577bc0 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") -- 2.30.2