public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/14981] [3.4/3.5 Regression] ICE in _mm_xor_pd for SSE2 with -O1 Date: Tue, 17 Aug 2004 02:51:00 -0000 [thread overview] Message-ID: <20040817025107.17210.qmail@sourceware.org> (raw) In-Reply-To: <20040416183851.14981.davide.rossetti@roma1.infn.it> ------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-17 02:51 ------- Here's a more detailed description what's happening: The testcase can be reduced to ========================================================== typedef int v2df __attribute__ ((mode (V2DF))); v2df foo(double d) { v2df x={0.0,d}; v2df y={0.0,0.0}; return __builtin_ia32_xorpd(x,y); } ========================================================== which crashes the compiler when compiled with "gcc -O -msse2". The crash on the 3.3 branch (3.3 - 3.3.5) is in subreg_hard_regno, the crash in the 3.4 branch (3.4.0 - 3.4.2) is immed_double_const (both in emit-rtl.c). These are actuelly two distinct problems, one with non-constant parameters, and one with constant parameters which can be shown with the following testcases: The first one triggers the 3.3.x failure: ========================================================== typedef int v2df __attribute__ ((mode (V2DF))); v2df foo(double d) { v2df x={0.0,d}; return __builtin_ia32_xorpd(x,x); } ========================================================== Since the mode V2DF was introduced in 3.3 this is not a regression, but a fix on the 3.3 branch would be nice anyway IMHO. The second one triggers the 3.4.x failure: ========================================================== typedef int v2df __attribute__ ((mode (V2DF))); void foo() { v2df x={0.0,0.0}; __builtin_ia32_xorpd(x,x); } ========================================================== Since this worked in 3.3 this is a 3.4 regression. Btw, the header file emmintrin.h was introduced in 3.3.3, so the original example couldn't be compiled in 3.3 - 3.3.2. The 3.3.2 version mentioned in the original bug report seems to be Red Hat's own version with additional patches. Alas that's not all. By specifying "-msse" instead of "-O -msse2" the last testcase crashes the 3.4 branch and mainline in extract_constrain_insn_cached, at recog.c:2000 (thus a 3.4/3.5 regression) If I don't even use "-msse", the 3.3 branch fails in ix86_function_arg_boundary, at config/i386/i386.c:2414. Btw, I removed the known-to-work/fail entries since they differ from testcase to testcase. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |reichelt at gcc dot gnu dot | |org Severity|normal |critical Keywords| |monitored Known to fail|3.4.0 3.3.4 | Known to work|3.5.0 3.3.3 | Summary|[3.3/3.4 Regression] ICE in |[3.4/3.5 Regression] ICE in |_mm_xor_pd for SSE2 with - |_mm_xor_pd for SSE2 with -O1 |O1 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14981
next prev parent reply other threads:[~2004-08-17 2:51 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-04-16 18:54 [Bug target/14981] New: " davide dot rossetti at roma1 dot infn dot it 2004-04-16 19:10 ` [Bug target/14981] " bangerth at dealii dot org 2004-04-16 19:15 ` bangerth at dealii dot org 2004-04-16 19:58 ` [Bug target/14981] [3.4 only] " pinskia at gcc dot gnu dot org 2004-04-19 14:56 ` pinskia at gcc dot gnu dot org 2004-04-20 2:34 ` [Bug target/14981] [3.3/3.4 Regression] " giovannibajo at libero dot it 2004-04-20 2:40 ` pinskia at gcc dot gnu dot org 2004-04-20 6:48 ` bangerth at dealii dot org 2004-04-20 7:18 ` pinskia at gcc dot gnu dot org 2004-06-06 3:53 ` giovannibajo at libero dot it 2004-06-21 21:16 ` mmitchel at gcc dot gnu dot org 2004-08-17 2:51 ` reichelt at gcc dot gnu dot org [this message] 2004-08-29 18:12 ` [Bug target/14981] [3.4/3.5 " mmitchel at gcc dot gnu dot org 2004-08-29 18:16 ` mmitchel at gcc dot gnu dot org 2004-10-21 3:17 ` [Bug target/14981] [3.4/4.0 " pinskia at gcc dot gnu dot org 2004-11-01 0:45 ` mmitchel at gcc dot gnu dot org 2004-11-30 15:59 ` [Bug target/14981] [3.4 " uros at gcc dot gnu dot org 2004-12-01 0:43 ` [Bug target/14981] [3.4/4.0 " reichelt at gcc dot gnu dot org 2004-12-01 6:50 ` uros at gcc dot gnu dot org 2004-12-02 9:49 ` [Bug target/14981] [3.4 " reichelt at gcc dot gnu dot org 2004-12-02 10:30 ` belyshev at lubercy dot com 2004-12-03 10:18 ` reichelt at gcc dot gnu dot org 2004-12-03 11:51 ` reichelt at gcc dot gnu dot org 2004-12-05 9:31 ` ebotcazou at gcc dot gnu dot org 2004-12-13 12:01 ` [Bug target/14981] [3.4/4.0 " reichelt at gcc dot gnu dot org 2004-12-14 8:53 ` ebotcazou at gcc dot gnu dot org 2004-12-15 4:23 ` rth at gcc dot gnu dot org 2004-12-15 12:18 ` rth at gcc dot gnu dot org 2004-12-15 12:24 ` rth at gcc dot gnu dot org 2005-03-21 6:22 ` uros at kss-loka dot si 2005-03-21 13:41 ` [Bug target/14981] [3.4 " uros at kss-loka dot si 2005-03-22 8:43 ` uros at kss-loka dot si 2005-03-22 15:54 ` cvs-commit at gcc dot gnu dot org 2005-03-22 16:02 ` uros at kss-loka dot si 2005-05-09 16:52 ` jakub at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20040817025107.17210.qmail@sourceware.org \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).