From patchwork Sun Sep 1 17:09:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John David Anglin X-Patchwork-Id: 271632 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 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "www.sourceware.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id E2A182C0098 for ; Mon, 2 Sep 2013 03:09:57 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:from:to:content-type:subject:mime-version:date; q= dns; s=default; b=mpjzF5bLQYcnmGkOYVv0439ZEou5uO3BAHFceXJXpN15E3 4sGDS84Knc9c0NvpwnKfCAUaRM5+TSY8GGFUNgaBggYHD9qrfdN3SADF97uJAarB l4GER0AD93cbLEwcwFWNKtmKnqdMgtLgVccUb9J7QFJFEf8xGkrk5KSt5gYkE= 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 :message-id:from:to:content-type:subject:mime-version:date; s= default; bh=Zq2WoPcoYqhppBE4sRwaw9oVbSI=; b=mEN0YLM38heXts7+7wjp tMiThQmDcGaWZkHUvK2GQaWl4Ph9uxPCgKGQ3poDPMqEOLcN7cl0QeuQLfKwW5GX ZSiZPeYCbRtvc9QDC54NqF1zhLUYImoh6jrcbc0vN1QJFzRQDn3bOhj7kn/f3Y8a tQzT5nScTpyk07zfTGn0bB8= Received: (qmail 6389 invoked by alias); 1 Sep 2013 17:09:50 -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 6380 invoked by uid 89); 1 Sep 2013 17:09:50 -0000 Received: from blu0-omc3-s10.blu0.hotmail.com (HELO blu0-omc3-s10.blu0.hotmail.com) (65.55.116.85) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 01 Sep 2013 17:09:50 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_40, FSL_HELO_NON_FQDN_1, MSGID_FROM_MTA_HEADER, RDNS_NONE, SPF_PASS autolearn=no version=3.3.2 X-HELO: blu0-omc3-s10.blu0.hotmail.com Received: from BLU0-SMTP44 ([65.55.116.73]) by blu0-omc3-s10.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Sun, 1 Sep 2013 10:09:30 -0700 X-TMN: [bIdsXIbgMb+OcI4yxtfq7zzt7QjTIw5z] Message-ID: Received: from [192.168.2.10] ([64.229.84.211]) by BLU0-SMTP44.phx.gbl over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Sun, 1 Sep 2013 10:09:29 -0700 From: John David Anglin To: GCC Patches Subject: [committed] Accept "const_int 0" operand 1 in PA "scc" insns MIME-Version: 1.0 (Apple Message framework v936) Date: Sun, 1 Sep 2013 13:09:12 -0400 This pattern fixes the following ICE found compiling ArabicShaping.cpp: g++-4.7 -D_REENTRANT -I. -I./.. -I../common -I./unicode - DU_ATTRIBUTE_DEPRECATED= -DU_LAYOUT_IMPLEMENTATION -D__NO_MATH_INLINES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG - D_FORTIFY_SOURCE=2 -DGCC_HIDDEN_VISIBILITY -B/usr/bin -fexceptions - funsigned-char -fno-strict-aliasing -g -pipe -fPIC -pthread -Wall - Wcast-align -Wno-trigraphs -Wextra -Wno-missing-field-initializers - std=gnu++11 -fvisibility=hidden -fprofile-use -Wcoverage-mismatch - fprofile-correction -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite- strings -Wno-long-long -std=c++11 -c -DPIC -fPIC -o ArabicShaping.o ArabicShaping.cpp ArabicShaping.cpp: In static member function 'static icu_50::ArabicShaping::ShapeType icu_50::ArabicShaping::getShapeType(LEUnicode)': ArabicShaping.cpp:36:94: warning: cast from 'const le_uint8* {aka const unsigned char*}' to 'const icu_50::ClassDefinitionTable*' increases required alignment of target type [-Wcast-align] ArabicShaping.cpp: In static member function 'static void icu_50::ArabicShaping::shape(const LEUnicode*, le_int32, le_int32, le_int32, le_bool, icu_50::LEGlyphStorage&)': ArabicShaping.cpp:210:1: note: file /net/usr.work/d036493/hppa/ CGK_ls3011_v29/i18n/icu/50.1/icu/source/layout/ArabicShaping.gcda not found, execution counts estimated ArabicShaping.cpp:208:1: error: unrecognizable insn: (insn 272 271 273 33 (set (reg:SI 298) (ne:SI (const_int 0 [0]) (const_int 0 [0]))) ArabicShaping.cpp:201 -1 (nil)) ArabicShaping.cpp:208:1: internal compiler error: in extract_insn, at recog.c:2123 The expander allowed a "const_int 0" operand 1 but the subsequent patterns didn't. The patch fixes this inconsistency. Tested on hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11. Applied to active branches. Dave --- John David Anglin dave.anglin@bell.net 2013-09-01 John David Anglin * config/pa/pa.md: Allow "const_int 0" operand 1 in "scc" insns. Index: config/pa/pa.md =================================================================== --- config/pa/pa.md (revision 202083) +++ config/pa/pa.md (working copy) @@ -833,7 +833,7 @@ (define_insn "scc" [(set (match_operand:SI 0 "register_operand" "=r") (match_operator:SI 3 "comparison_operator" - [(match_operand:SI 1 "register_operand" "r") + [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]))] "" "{com%I2clr|cmp%I2clr},%B3 %2,%1,%0\;ldi 1,%0" @@ -843,7 +843,7 @@ (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (match_operator:DI 3 "comparison_operator" - [(match_operand:DI 1 "register_operand" "r") + [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]))] "TARGET_64BIT" "cmp%I2clr,*%B3 %2,%1,%0\;ldi 1,%0" @@ -853,10 +853,10 @@ (define_insn "iorscc" [(set (match_operand:SI 0 "register_operand" "=r") (ior:SI (match_operator:SI 3 "comparison_operator" - [(match_operand:SI 1 "register_operand" "r") + [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")]) (match_operator:SI 6 "comparison_operator" - [(match_operand:SI 4 "register_operand" "r") + [(match_operand:SI 4 "reg_or_0_operand" "rM") (match_operand:SI 5 "arith11_operand" "rI")])))] "" "{com%I2clr|cmp%I2clr},%S3 %2,%1,%%r0\;{com%I5clr|cmp%I5clr},%B6 %5,%4,%0\;ldi 1,%0" @@ -866,10 +866,10 @@ (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (ior:DI (match_operator:DI 3 "comparison_operator" - [(match_operand:DI 1 "register_operand" "r") + [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")]) (match_operator:DI 6 "comparison_operator" - [(match_operand:DI 4 "register_operand" "r") + [(match_operand:DI 4 "reg_or_0_operand" "rM") (match_operand:DI 5 "arith11_operand" "rI")])))] "TARGET_64BIT" "cmp%I2clr,*%S3 %2,%1,%%r0\;cmp%I5clr,*%B6 %5,%4,%0\;ldi 1,%0" @@ -881,7 +881,7 @@ (define_insn "negscc" [(set (match_operand:SI 0 "register_operand" "=r") (neg:SI (match_operator:SI 3 "comparison_operator" - [(match_operand:SI 1 "register_operand" "r") + [(match_operand:SI 1 "reg_or_0_operand" "rM") (match_operand:SI 2 "arith11_operand" "rI")])))] "" "{com%I2clr|cmp%I2clr},%B3 %2,%1,%0\;ldi -1,%0" @@ -891,7 +891,7 @@ (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (neg:DI (match_operator:DI 3 "comparison_operator" - [(match_operand:DI 1 "register_operand" "r") + [(match_operand:DI 1 "reg_or_0_operand" "rM") (match_operand:DI 2 "arith11_operand" "rI")])))] "TARGET_64BIT" "cmp%I2clr,*%B3 %2,%1,%0\;ldi -1,%0"