From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31487 invoked by alias); 23 Aug 2002 10:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 31467 invoked by uid 71); 23 Aug 2002 10:36:01 -0000 Resent-Date: 23 Aug 2002 10:36:01 -0000 Resent-Message-ID: <20020823103601.31466.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Bruno Haible Received: (qmail 31450 invoked from network); 23 Aug 2002 10:35:55 -0000 Received: from unknown (HELO sceaux.ilog.fr) (193.55.64.10) by sources.redhat.com with SMTP; 23 Aug 2002 10:35:55 -0000 Received: from ftp.ilog.fr (ftp.ilog.fr [193.55.64.11]) by sceaux.ilog.fr (8.11.6/8.11.6) with SMTP id g7NAWMN26698 for ; Fri, 23 Aug 2002 12:32:27 +0200 (MET DST) Received: from laposte.ilog.fr ([193.55.64.67]) by ftp.ilog.fr (NAVGW 2.5.1.16) with SMTP id M2002082312354217339 ; Fri, 23 Aug 2002 12:35:42 +0200 Received: from honolulu.ilog.fr ([172.17.4.201]) by laposte.ilog.fr (8.11.6/8.11.6) with ESMTP id g7NAZeU29021; Fri, 23 Aug 2002 12:35:40 +0200 (MET DST) Received: (from haible@localhost) by honolulu.ilog.fr (8.9.3/8.9.3/SuSE Linux 8.9.3-0.1) id MAA28128; Fri, 23 Aug 2002 12:36:19 +0200 Message-Id: <15718.4131.509884.714017@honolulu.ilog.fr> Date: Fri, 23 Aug 2002 04:56:00 -0000 From: Bruno Haible To: gcc-gnats@gcc.gnu.org Cc: "Jim Gifford" Subject: c/7695: i686/athlon specific ICE X-SW-Source: 2002-08/txt/msg00486.txt.bz2 List-Id: >Number: 7695 >Category: c >Synopsis: i686/athlon specific ICE on simple arithmetic function >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Fri Aug 23 03:36:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Bruno Haible >Release: 3.2 >Organization: GNU hackers >Environment: System: Linux linuix 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.2/configure --prefix=/packages/gnu-inst-gcc/3.2 --enable-shared --enable-version-specific-runtime-libs --enable-nls --enable-threads=posix >Description: $ LC_ALL=C gcc -march=i686 -O2 -S j.c j.c: In function `gbkext1_mbtowc': j.c:28: unrecognizable insn: (insn 163 161 165 (set (reg:QI 82) (const_int 128 [0x80])) -1 (nil) (nil)) j.c:28: Internal compiler error in extract_insn, at recog.c:2148 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. $ LC_ALL=C gcc -march=athlon -O2 -S j.c j.c: In function `gbkext1_mbtowc': j.c:28: unrecognizable insn: (insn 161 159 163 (set (reg:QI 82) (const_int 128 [0x80])) -1 (nil) (nil)) j.c:28: Internal compiler error in extract_insn, at recog.c:2148 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Without -march=i686 or -march=athlon there is no problem. >How-To-Repeat: See above. Here is j.c: =============================== j.c ====================================== extern const unsigned short gbkext1_2uni_page81[6080]; int gbkext1_mbtowc (unsigned int *pwc, const unsigned char *s, int n) { unsigned char c1 = s[0]; if (c1 >= 0x81 && c1 <= 0xa0) { if (n >= 2) { unsigned char c2 = s[1]; if ((c2 >= 0x40 && c2 < 0x7f) || (c2 >= 0x80 && c2 < 0xff)) { unsigned int i = 190 * (c1 - 0x81) + (c2 - (c2 >= 0x80 ? 0x41 : 0x40)); unsigned short wc = 0xfffd; if (i < 6080) wc = gbkext1_2uni_page81[i]; if (wc != 0xfffd) { *pwc = (unsigned int) wc; return 2; } } return -1; } return -2; } return -1; } ========================================================================== And here is a minimal j.c: ========================================================================== int gbkext1_mbtowc (unsigned char c1, unsigned char c2) { return c1 + (c2 - (c2 >= 0x80 ? 0x41 : 0x40)); } ========================================================================== >Fix: unknown >Release-Note: >Audit-Trail: >Unformatted: