From patchwork Wed Mar 12 22:35:51 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Han Shen X-Patchwork-Id: 329734 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8C7092C00A5 for ; Thu, 13 Mar 2014 09:36:03 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; q= dns; s=default; b=pDrJnmAkSsktIxJjC8oK8K/TXKDGHVOzxKDfSFWbc/aAVN VbTzX0VeyFrr0Qsn+jeNGefG2MhR5HCipJMexLR0gBQ+A6jUwMjJjeaQEHy1Hvnk OoXWX6OYAYG4BJXjcdhZtZbAEUZXo274FldArBwJMkTGPXL2S/FjmH48o8ZFY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; s= default; bh=iONfjN8PFe5rA/7oF68biH4yvXs=; b=uzLu/PG+tRSkmVMZgLVy VNala2OabTZozXDwd/fGkU0bke4g43QdzIPo6bA72TjPql5mW4a5nJHqo7884uvI YUIrE24nKlOA37eUubKaOG1hZ7TQd10KY6C62iVjUxZPP/MKlhh66+/RjEJ8jIIU 23ZCMkwqUHhveTGZx4QYLHk= Received: (qmail 10142 invoked by alias); 12 Mar 2014 22:35:55 -0000 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 Received: (qmail 10132 invoked by uid 89); 12 Mar 2014 22:35:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-ig0-f170.google.com Received: from mail-ig0-f170.google.com (HELO mail-ig0-f170.google.com) (209.85.213.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 12 Mar 2014 22:35:52 +0000 Received: by mail-ig0-f170.google.com with SMTP id uq10so15829728igb.1 for ; Wed, 12 Mar 2014 15:35:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=xvfx1mLKodcoEMhNDDyIWmtXUmSzCuAYNg/XO8Vnxgw=; b=hDIbT6W0CtqTLnl7rP4yUMHwoOsnR7cCSTnsg6dLX25QUaRDBv0EbpGwk4pDALvdn7 h3NTKk0AbRimcL5YYZZnOmzgkN/OOuCiNKsTMsjX7vdf91NTs5qVviP+Biqo09XTzjZm Rf4WMrf1Qn2y5M/olmfUs/RtD/D3FIjntHcNMv537ccUdZt2UElLG9HrnQnVEXHpfD83 j3jduy4PVyYC7NP3zFrc2hT9dk6yPfpcu6GqyrGYVBt1suPcqx3lXfPZHvZeIIvFgSVO XlsOX6LUZRZNLNZuLnUnETvE9qsELCWqFuhZA3SBW57zG2Gbgm3E3WmPPY03dcVT8WFg XXBA== X-Gm-Message-State: ALoCoQmu8d+9zCDPd07QH8LZOCOsgkXJtzR5LppmZpoU+Ch/vulyqZ8BNl0zwaFwNPF/u2zbKOqmlrPijmvjuoPjmmsr51Cws0FfcwAvcmiJu4bF6j9CG2qg0HOX9Eo/qazOp5y5ZAoSQWuVG4GtIRODfN/IZKeMYBFOEmBfD66VorsvjimXObArwryi3Ax+rcPDL7XSBJAAFKhhyOTjlDYlcAPEit1fBg== MIME-Version: 1.0 X-Received: by 10.43.145.137 with SMTP id ju9mr83770icc.36.1394663751240; Wed, 12 Mar 2014 15:35:51 -0700 (PDT) Received: by 10.64.142.17 with HTTP; Wed, 12 Mar 2014 15:35:51 -0700 (PDT) Date: Wed, 12 Mar 2014 15:35:51 -0700 Message-ID: Subject: [Patch][google/main] Fix arm build broken From: =?UTF-8?B?SMOhbiBTaMSbbiAo5rKI5ra1KQ==?= To: Dehao Chen , GCC Patches , c-compiler-chrome X-IsSubscribed: yes ARM build (on chrome) is broken because of duplicate entries in arm.md and unspecs.md. Fixed by removing duplication and merge those in arm.md into unspecs.md. (We had a similar fix for google/gcc-4_8 here - http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=198650) Tested by building arm cross compiler successfully. Ok for google/main? Patch below - UNSPEC_WQMULWMR ; Used by the intrinsic form of the iWMMXt WQMULWMR instruction. UNSPEC_WQMULMR ; Used by the intrinsic form of the iWMMXt WQMULMR instruction. Han diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 8b269a4..9aec213 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -75,27 +75,6 @@ ] ) -;; UNSPEC Usage: -;; Note: sin and cos are no-longer used. -;; Unspec enumerators for Neon are defined in neon.md. - -(define_c_enum "unspec" [ - UNSPEC_SIN ; `sin' operation (MODE_FLOAT): - ; operand 0 is the result, - ; operand 1 the parameter. - UNPSEC_COS ; `cos' operation (MODE_FLOAT): - ; operand 0 is the result, - ; operand 1 the parameter. - UNSPEC_PROLOGUE_USE ; As USE insns are not meaningful after reload, - ; this unspec is used to prevent the deletion of - ; instructions setting registers for EH handling - ; and stack frame generation. Operand 0 is the - ; register to "use". - UNSPEC_WMADDS ; Used by the intrinsic form of the iWMMXt WMADDS instruction. - UNSPEC_WMADDU ; Used by the intrinsic form of the iWMMXt WMADDU instruction. - UNSPEC_GOT_PREL_SYM ; Specify an R_ARM_GOT_PREL relocation of a symbol. -]) - ;; UNSPEC_VOLATILE Usage: diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md index 8caa953..89bc528 100644 --- a/gcc/config/arm/unspecs.md +++ b/gcc/config/arm/unspecs.md @@ -24,6 +24,12 @@ ;; Unspec enumerators for iwmmxt2 are defined in iwmmxt2.md (define_c_enum "unspec" [ + UNSPEC_SIN ; `sin' operation (MODE_FLOAT): + ; operand 0 is the result, + ; operand 1 the parameter. + UNPSEC_COS ; `cos' operation (MODE_FLOAT): + ; operand 0 is the result, + ; operand 1 the parameter. UNSPEC_PUSH_MULT ; `push multiple' operation: ; operand 0 is the first register, ; subsequent registers are in parallel (use ...) @@ -58,6 +64,7 @@ ; instruction stream. UNSPEC_PIC_OFFSET ; A symbolic 12-bit OFFSET that has been treated ; correctly for PIC usage. + UNSPEC_GOT_PREL_SYM ; Specify an R_ARM_GOT_PREL relocation of a symbol. UNSPEC_GOTSYM_OFF ; The offset of the start of the GOT from a ; a given symbolic address. UNSPEC_THUMB1_CASESI ; A Thumb1 compressed dispatch-table call. @@ -70,6 +77,11 @@ ; that. UNSPEC_UNALIGNED_STORE ; Same for str/strh. UNSPEC_PIC_UNIFIED ; Create a common pic addressing form. + UNSPEC_PROLOGUE_USE ; As USE insns are not meaningful after reload, + ; this unspec is used to prevent the deletion of + ; instructions setting registers for EH handling + ; and stack frame generation. Operand 0 is the + ; register to "use". UNSPEC_LL ; Represent an unpaired load-register-exclusive. UNSPEC_VRINTZ ; Represent a float to integral float rounding ; towards zero. @@ -87,6 +99,8 @@ (define_c_enum "unspec" [ UNSPEC_WADDC ; Used by the intrinsic form of the iWMMXt WADDC instruction. + UNSPEC_WMADDS ; Used by the intrinsic form of the iWMMXt WMADDS instruction. + UNSPEC_WMADDU ; Used by the intrinsic form of the iWMMXt WMADDU instruction. UNSPEC_WABS ; Used by the intrinsic form of the iWMMXt WABS instruction.