From: Eric Botcazou Date: Thu, 12 Feb 2004 13:42:46 +0000 (+0100) Subject: re PR target/14113 (-O2 corrupts stack) X-Git-Tag: releases/gcc-3.3.3~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5b56f9043428951ecce22c10c7427c20cc1a0df7;p=thirdparty%2Fgcc.git re PR target/14113 (-O2 corrupts stack) PR target/14113 Backport from mainline: 2004-02-03 Eric Botcazou * config/sparc/sparc.md (call followed by jump define_peephole's): Delete. From-SVN: r77706 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b88d4f39f107..2e230783d6b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2004-02-12 Eric Botcazou + + PR target/14113 + Backport from mainline: + + 2004-02-03 Eric Botcazou + + * config/sparc/sparc.md (call followed by jump define_peephole's): + Delete. + 2004-02-06 H.J. Lu * doc/invoke.texi: Mention SSE2 and SSE3. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 62fabd577e27..01e031ebadbb 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -8239,31 +8239,6 @@ [(set_attr "type" "multi") (set_attr "length" "2")]) -;; Now peepholes to do a call followed by a jump. - -(define_peephole - [(parallel [(set (match_operand 0 "" "") - (call (mem:SI (match_operand:SI 1 "call_operand_address" "ps")) - (match_operand 2 "" ""))) - (clobber (reg:SI 15))]) - (set (pc) (label_ref (match_operand 3 "" "")))] - "short_branch (INSN_UID (insn), INSN_UID (operands[3])) - && (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (ins1)) - && sparc_cpu != PROCESSOR_ULTRASPARC - && sparc_cpu != PROCESSOR_ULTRASPARC3" - "call\t%a1, %2\n\tadd\t%%o7, (%l3-.-4), %%o7") - -(define_peephole - [(parallel [(call (mem:SI (match_operand:SI 0 "call_operand_address" "ps")) - (match_operand 1 "" "")) - (clobber (reg:SI 15))]) - (set (pc) (label_ref (match_operand 2 "" "")))] - "short_branch (INSN_UID (insn), INSN_UID (operands[2])) - && (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (ins1)) - && sparc_cpu != PROCESSOR_ULTRASPARC - && sparc_cpu != PROCESSOR_ULTRASPARC3" - "call\t%a0, %1\n\tadd\t%%o7, (%l2-.-4), %%o7") - ;; ??? UltraSPARC-III note: A memory operation loading into the floating point register ;; ??? file, if it hits the prefetch cache, has a chance to dual-issue with other memory ;; ??? operations. With DFA we might be able to model this, but it requires a lot of