From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16851 invoked by alias); 15 Jul 2010 09:53:20 -0000 Received: (qmail 16825 invoked by uid 22791); 15 Jul 2010 09:53:16 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.renesas.com (HELO mail05.idc.renesas.com) (202.234.163.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 15 Jul 2010 09:53:11 +0000 Received: from guardian03.idc.renesas.com ([172.20.8.202]) by mail05.idc.renesas.com (sendmail) with ESMTP id o6F9qm4u016206; Thu, 15 Jul 2010 18:52:48 +0900 (JST) Received: (from root@localhost) by guardian03.idc.renesas.com with id o6F9qnuA014407; Thu, 15 Jul 2010 18:52:49 +0900 (JST) Received: from mta06.idc.renesas.com (localhost [127.0.0.1]) by mta06.idc.renesas.com with ESMTP id o6F9qmD5026704; Thu, 15 Jul 2010 18:52:48 +0900 (JST) Received: from [172.30.58.164] by ims05.idc.renesas.com (Sendmail) with ESMTPA id <0L5L00LJTFG0O7@ims05.idc.renesas.com>; Thu, 15 Jul 2010 18:52:48 +0900 (JST) Date: Thu, 15 Jul 2010 09:53:00 -0000 From: kazuhiro inaoka Subject: Re: [patch] Add TST to RX In-reply-to: <201007140217.o6E2Hp4w001032@greed.delorie.com> To: DJ Delorie Cc: gcc-patches@gcc.gnu.org, Paolo Bonzini , Nick Clifton Message-id: <4C3EDA70.3000609@renesas.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=UTF-8 Content-transfer-encoding: 7bit User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) References: <201007140217.o6E2Hp4w001032@greed.delorie.com> X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg01225.txt.bz2 DJ Delorie wrote: > This patch adds support for the TST opcode to the RX target. The > first two patterns are the real patterns; the rest are other ways that > gcc handles "a & const", they're converted to one of the first two > forms. Paolo: if you replace the "return 0;" in the rtlanal.c chunk > with an abort(), you can see where the zero_extend comes from. GCC > uses that for single-bit tests other than bit 0. > > Ok to apply? > > * rtlanal.c (canonicalize_condition): Exit early if we're passed > something other than a condition. > > * config/rx/predicates.md (rx_constshift_operand): New. > (rx_onebit_operand): New. > * config/rx/rx.md (zs_cond): New. > (*tstbranchsi4_): New. > (*tstbranchsi4_): New. > (*tstbranchsi4b_eq): New. > (*tstbranchsi4m_eq): New. > (*tstbranchsi4m_ne): New. > (*tstbranchsi4a_ne): New. > (*tstbranchsi4a_eq): New. This patch causes the following testsuite failure. FAIL: gcc.c-torture/compile/pr32482.c -O1 (internal compiler error) FAIL: gcc.c-torture/unsorted/shft.c, -O1 (internal compiler error) FAIL: gcc.c-torture/unsorted/shft.c, -O2 (internal compiler error) FAIL: gcc.c-torture/unsorted/shft.c, -O3 -fomit-frame-pointer (internal compiler error) FAIL: gcc.c-torture/unsorted/shft.c, -O3 -g (internal compiler error) FAIL: gcc.c-torture/unsorted/shft.c, -Os (internal compiler error) rx-elf-gcc -S -O1 pr32482.c pr32482.c: In function 'drain_cpu_caches': pr32482.c:23:1: internal compiler error: in reverse_condition, at jump.c:477 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. rx-elf-gcc -S -O3 shft.c shft.c: In function 'foo': shft.c:9:1: internal compiler error: in swap_condition, at jump.c:566 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Regards, Kazuhiro Inaoka