From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16515 invoked by alias); 8 Dec 2014 14:43:01 -0000 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 Received: (qmail 16491 invoked by uid 48); 8 Dec 2014 14:42:57 -0000 From: "ktkachov at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/64224] New: [ARM] -mapcs -marm uses deprecated forms (as of ARMv7-A) of LDM in epilogues Date: Mon, 08 Dec 2014 14:43:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ktkachov at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ktkachov at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cf_gcctarget Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg00759.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64224 Bug ID: 64224 Summary: [ARM] -mapcs -marm uses deprecated forms (as of ARMv7-A) of LDM in epilogues Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: ktkachov at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target: arm* The ARMv7-A specification says on the load-multiple (LDM) instruction: "The SP can be in the list. However, ARM deprecates using these instructions with SP in the list." and "ARM deprecates using these instructions with both the LR and the PC in the list." However GCC generates both forms in function epilogues when compiling with -mapcs. gas doesn't have a warning for these (I'm working on a patch to add those to gas) which is probably why this hasn't been noticed yet. We should fix GCC so that it doesn't generate deprecated sequences for ARMv7-A and later.