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


  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: link
Be 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).