From patchwork Wed Jan 9 10:12:28 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Hurugalawadi, Naveen" X-Patchwork-Id: 210682 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id EBF722C0087 for ; Wed, 9 Jan 2013 21:13:30 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1358331211; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Received:Received:Received:From:To:CC:Subject:Date: Message-ID:Content-Type:MIME-Version:Mailing-List:Precedence: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=AgYVZ3va6pLzUL2k5ybI1ZKEPa4=; b=vD8YvCugGthRSLi qrjgDQCbN4nxbtP3flL/PUg48xVaKbrR/07MCpIMQ4nfHH0+feCmaBWtxIevXAj4 39dK7PK+C8Uga8yxL3pzO54fJDkrb1TQTya7y4bTL9ov6WvYYaAIQxsMaebJKOFi MlAFKd6+mwBZt6x5ElIjdjUgvF4E= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:X-Forefront-Antispam-Report:X-SpamScore:X-BigFish:Received:Received:Received:Received:From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version:X-OriginatorOrg:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=QKHREeqn8/GDCyf02v2l/GTsz0riqNO6GyR/Eg+UPqrB8chFVWNOeiDIJHtdFD yJEVEqomuc4u16WiGjttAiOuOCbs1Bdd3MHlRb8bx1dyvTpWQ0H4a4drNg+ZtMoX HvRH8gn92pAwdXjuqEusyFqQgqhaa1Alr2QshJT6UzySo=; Received: (qmail 31381 invoked by alias); 9 Jan 2013 10:13:18 -0000 Received: (qmail 31317 invoked by uid 22791); 9 Jan 2013 10:13:16 -0000 X-SWARE-Spam-Status: No, hits=-3.4 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_HOSTKARMA_NO, RCVD_IN_HOSTKARMA_W, RCVD_IN_HOSTKARMA_WL, RCVD_IN_HOSTKARMA_YE, SARE_SUB_PCT_LETTER X-Spam-Check-By: sourceware.org Received: from co9ehsobe001.messaging.microsoft.com (HELO co9outboundpool.messaging.microsoft.com) (207.46.163.24) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 Jan 2013 10:13:08 +0000 Received: from mail78-co9-R.bigfish.com (10.236.132.230) by CO9EHSOBE027.bigfish.com (10.236.130.90) with Microsoft SMTP Server id 14.1.225.23; Wed, 9 Jan 2013 10:13:07 +0000 Received: from mail78-co9 (localhost [127.0.0.1]) by mail78-co9-R.bigfish.com (Postfix) with ESMTP id 5BD82A00C5; Wed, 9 Jan 2013 10:13:07 +0000 (UTC) X-Forefront-Antispam-Report: CIP:157.56.236.133; KIP:(null); UIP:(null); IPV:NLI; H:BY2PRD0710HT004.namprd07.prod.outlook.com; RD:none; EFVD:NLI X-SpamScore: -3 X-BigFish: PS-3(zz936eIc85fh148cI4015Izz1ee6h1de0h1202h1e76h1d1ah1d2ahzz8275bhz2dh2a8h668h839hd25hf0ah1288h12a5h12bdh137ah1441h1504h1537h153bh15d0h162dh1631h1758h34h1155h) Received: from mail78-co9 (localhost.localdomain [127.0.0.1]) by mail78-co9 (MessageSwitch) id 1357726384313835_2133; Wed, 9 Jan 2013 10:13:04 +0000 (UTC) Received: from CO9EHSMHS001.bigfish.com (unknown [10.236.132.227]) by mail78-co9.bigfish.com (Postfix) with ESMTP id 456872E005E; Wed, 9 Jan 2013 10:13:04 +0000 (UTC) Received: from BY2PRD0710HT004.namprd07.prod.outlook.com (157.56.236.133) by CO9EHSMHS001.bigfish.com (10.236.130.11) with Microsoft SMTP Server (TLS) id 14.1.225.23; Wed, 9 Jan 2013 10:12:32 +0000 Received: from BY2PRD0710MB364.namprd07.prod.outlook.com ([169.254.3.163]) by BY2PRD0710HT004.namprd07.prod.outlook.com ([10.255.86.39]) with mapi id 14.16.0245.002; Wed, 9 Jan 2013 10:12:28 +0000 From: "Hurugalawadi, Naveen" To: Marcus Shawcroft CC: "gcc-patches@gcc.gnu.org" Subject: [Patch, AArch64-4.7] Remove %r from asm_printf Date: Wed, 9 Jan 2013 10:12:28 +0000 Message-ID: MIME-Version: 1.0 X-OriginatorOrg: caviumnetworks.com Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, >> It would be much appreciated if you would >> handle the back port to ARM/aarch64-4.7-branch Thanks for reviewing the patch and your comments. Please find attached the backported patch to ARM/aarch64-4.7-branch. Regressed for aarch64-elf on aarch64-4.7-branch. Thanks, Naveen.H.S 2013-01-09 Naveen H.S * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r in asm_fprintf with reg_names. (aarch64_print_operand_address): Likewise. (aarch64_return_addr): Likewise. * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove. --- gcc/config/aarch64/aarch64.c 2013-01-09 10:10:03.044021335 +0530 +++ gcc/config/aarch64/aarch64.c 2013-01-09 15:07:47.076627180 +0530 @@ -3198,7 +3198,7 @@ aarch64_print_operand (FILE *f, rtx x, c return; } - asm_fprintf (f, "%r", REGNO (x) + 1); + asm_fprintf (f, "%s", reg_names [REGNO (x) + 1]); break; case 'Q': @@ -3208,7 +3208,7 @@ aarch64_print_operand (FILE *f, rtx x, c output_operand_lossage ("invalid operand for '%%%c'", code); return; } - asm_fprintf (f, "%r", REGNO (x) + (WORDS_BIG_ENDIAN ? 1 : 0)); + asm_fprintf (f, "%s", reg_names [REGNO (x) + (WORDS_BIG_ENDIAN ? 1 : 0)]); break; case 'R': @@ -3218,7 +3218,7 @@ aarch64_print_operand (FILE *f, rtx x, c output_operand_lossage ("invalid operand for '%%%c'", code); return; } - asm_fprintf (f, "%r", REGNO (x) + (WORDS_BIG_ENDIAN ? 0 : 1)); + asm_fprintf (f, "%s", reg_names [REGNO (x) + (WORDS_BIG_ENDIAN ? 0 : 1)]); break; case 'm': @@ -3323,7 +3323,7 @@ aarch64_print_operand (FILE *f, rtx x, c switch (GET_CODE (x)) { case REG: - asm_fprintf (f, "%r", REGNO (x)); + asm_fprintf (f, "%s", reg_names [REGNO (x)]); break; case MEM: @@ -3478,36 +3478,36 @@ aarch64_print_operand_address (FILE *f, { case ADDRESS_REG_IMM: if (addr.offset == const0_rtx) - asm_fprintf (f, "[%r]", REGNO (addr.base)); + asm_fprintf (f, "[%s]", reg_names [REGNO (addr.base)]); else - asm_fprintf (f, "[%r,%wd]", REGNO (addr.base), + asm_fprintf (f, "[%s,%wd]", reg_names [REGNO (addr.base)], INTVAL (addr.offset)); return; case ADDRESS_REG_REG: if (addr.shift == 0) - asm_fprintf (f, "[%r,%r]", REGNO (addr.base), - REGNO (addr.offset)); + asm_fprintf (f, "[%s,%s]", reg_names [REGNO (addr.base)], + reg_names [REGNO (addr.offset)]); else - asm_fprintf (f, "[%r,%r,lsl %u]", REGNO (addr.base), - REGNO (addr.offset), addr.shift); + asm_fprintf (f, "[%s,%s,lsl %u]", reg_names [REGNO (addr.base)], + reg_names [REGNO (addr.offset)], addr.shift); return; case ADDRESS_REG_UXTW: if (addr.shift == 0) - asm_fprintf (f, "[%r,w%d,uxtw]", REGNO (addr.base), + asm_fprintf (f, "[%s,w%d,uxtw]", reg_names [REGNO (addr.base)], REGNO (addr.offset) - R0_REGNUM); else - asm_fprintf (f, "[%r,w%d,uxtw %u]", REGNO (addr.base), + asm_fprintf (f, "[%s,w%d,uxtw %u]", reg_names [REGNO (addr.base)], REGNO (addr.offset) - R0_REGNUM, addr.shift); return; case ADDRESS_REG_SXTW: if (addr.shift == 0) - asm_fprintf (f, "[%r,w%d,sxtw]", REGNO (addr.base), + asm_fprintf (f, "[%s,w%d,sxtw]", reg_names [REGNO (addr.base)], REGNO (addr.offset) - R0_REGNUM); else - asm_fprintf (f, "[%r,w%d,sxtw %u]", REGNO (addr.base), + asm_fprintf (f, "[%s,w%d,sxtw %u]", reg_names [REGNO (addr.base)], REGNO (addr.offset) - R0_REGNUM, addr.shift); return; @@ -3515,27 +3515,27 @@ aarch64_print_operand_address (FILE *f, switch (GET_CODE (x)) { case PRE_INC: - asm_fprintf (f, "[%r,%d]!", REGNO (addr.base), + asm_fprintf (f, "[%s,%d]!", reg_names [REGNO (addr.base)], GET_MODE_SIZE (aarch64_memory_reference_mode)); return; case POST_INC: - asm_fprintf (f, "[%r],%d", REGNO (addr.base), + asm_fprintf (f, "[%s],%d", reg_names [REGNO (addr.base)], GET_MODE_SIZE (aarch64_memory_reference_mode)); return; case PRE_DEC: - asm_fprintf (f, "[%r,-%d]!", REGNO (addr.base), + asm_fprintf (f, "[%s,-%d]!", reg_names [REGNO (addr.base)], GET_MODE_SIZE (aarch64_memory_reference_mode)); return; case POST_DEC: - asm_fprintf (f, "[%r],-%d", REGNO (addr.base), + asm_fprintf (f, "[%s],-%d", reg_names [REGNO (addr.base)], GET_MODE_SIZE (aarch64_memory_reference_mode)); return; case PRE_MODIFY: - asm_fprintf (f, "[%r,%wd]!", REGNO (addr.base), + asm_fprintf (f, "[%s,%wd]!", reg_names [REGNO (addr.base)], INTVAL (addr.offset)); return; case POST_MODIFY: - asm_fprintf (f, "[%r],%wd", REGNO (addr.base), + asm_fprintf (f, "[%s],%wd", reg_names [REGNO (addr.base)], INTVAL (addr.offset)); return; default: @@ -3544,7 +3544,7 @@ aarch64_print_operand_address (FILE *f, break; case ADDRESS_LO_SUM: - asm_fprintf (f, "[%r,#:lo12:", REGNO (addr.base)); + asm_fprintf (f, "[%s,#:lo12:", reg_names [REGNO (addr.base)]); output_addr_const (f, addr.offset); asm_fprintf (f, "]"); return; @@ -3856,9 +3856,9 @@ aarch64_return_addr (int count, rtx fram static void aarch64_asm_trampoline_template (FILE *f) { - asm_fprintf (f, "\tldr\t%r, .+16\n", IP1_REGNUM); - asm_fprintf (f, "\tldr\t%r, .+20\n", STATIC_CHAIN_REGNUM); - asm_fprintf (f, "\tbr\t%r\n", IP1_REGNUM); + asm_fprintf (f, "\tldr\t%s, .+16\n", reg_names [IP1_REGNUM]); + asm_fprintf (f, "\tldr\t%s, .+20\n", reg_names [STATIC_CHAIN_REGNUM]); + asm_fprintf (f, "\tbr\t%s\n", reg_names [IP1_REGNUM]); assemble_aligned_integer (4, const0_rtx); assemble_aligned_integer (UNITS_PER_WORD, const0_rtx); assemble_aligned_integer (UNITS_PER_WORD, const0_rtx); --- gcc/config/aarch64/aarch64.h 2013-01-09 10:10:03.044021335 +0530 +++ gcc/config/aarch64/aarch64.h 2013-01-09 15:07:47.080627181 +0530 @@ -773,16 +773,6 @@ do { \ #define ASM_APP_ON "\t" ASM_COMMENT_START " Start of user assembly\n" #define ASM_APP_OFF "\t" ASM_COMMENT_START " End of user assembly\n" -#define ASM_FPRINTF_EXTENSIONS(FILE, ARGS, P) \ - case '@': \ - fputs (ASM_COMMENT_START, FILE); \ - break; \ - \ - case 'r': \ - fputs (REGISTER_PREFIX, FILE); \ - fputs (reg_names[va_arg (ARGS, int)], FILE); \ - break; - #define CONSTANT_POOL_BEFORE_FUNCTION 0 /* This definition should be relocated to aarch64-elf-raw.h. This macro