From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23187 invoked by alias); 3 Nov 2009 07:53:34 -0000 Received: (qmail 23147 invoked by alias); 3 Nov 2009 07:53:21 -0000 Date: Tue, 03 Nov 2009 07:53:00 -0000 Message-ID: <20091103075321.23146.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/41900] call *%esp shouldn't be generated because of CPU errata In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "uros at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-11/txt/msg00145.txt.bz2 ------- Comment #2 from uros at gcc dot gnu dot org 2009-11-03 07:53 ------- Subject: Bug 41900 Author: uros Date: Tue Nov 3 07:53:05 2009 New Revision: 153838 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153838 Log: PR target/41900 * config/i386/i386.h (ix86_arch_indices) : New. (TARGET_CALL_ESP): New define. * config/i386/i386.c (initial_ix86_tune_features): Initialize X86_ARCH_CALL_ESP. * config/i386/i386.md (*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1, *call_1, *call_value_pop_1 and *call_value_1. Depend on TARGET_CALL_ESP. (*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): New patterns, use "lsm" as operand 1 constraint. * config/i386/predicates.md (call_insn_operand): Depend on index_register_operand for !TARGET_CALL_ESP to avoid %esp register. testsuite/ChangeLog: PR target/41900 * gcc.target/i386/pr41900.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr41900.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.h trunk/gcc/config/i386/i386.md trunk/gcc/config/i386/predicates.md trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41900