Bug 12678 - ICE on large vector arguments to a function
Summary: ICE on large vector arguments to a function
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.3.1
: P2 normal
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2003-10-19 07:19 UTC by Matthew Dempsky
Modified: 2005-01-14 02:58 UTC (History)
1 user (show)

See Also:
Host:
Target: i686-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed: 2004-10-15 02:27:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Dempsky 2003-10-19 07:19:37 UTC
$ cat mmx.c

typedef int v16si __attribute__ ((mode(V16QI)));

v16si
func (v16si a, v16si b)
{
  return a + b;
}


$ gcc -c -o mmx.o mmx.c
mmx.c: In function `func':
mmx.c:8: internal compiler error: in ix86_function_arg_boundary, at
config/i386/i386.c:2458
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

$ gcc -c -o mmx.o mmx.c -march=athlon-xp
mmx.c: In function `func':
mmx.c:8: error: insn does not satisfy its constraints:
(insn 44 29 33 0 (set (reg:SI 21 exmm0)
        (reg:SI 0 eax)) 38 {*movsi_1} (nil)
    (nil))
mmx.c:8: internal compiler error: in extract_constrain_insn_cached, at recog.c:2090
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Matthew Dempsky 2003-10-19 07:20:05 UTC
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/specs
Configured with: /netrel/src/gcc-3.3.1-2/configure
--enable-languages=c,c++,f77,java --enable-libgcj --enable-threads=posix
--with-system-zlib --enable-nls --without-included-gettext --enable-interpreter
--enable-sjlj-exceptions --disable-version-specific-runtime-libs --enable-shared
--build=i686-pc-linux --host=i686-pc-cygwin --target=i686-pc-cygwin
--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--includedir=/nonexistent/include --libexecdir=/usr/sbin
Thread model: posix
gcc version 3.3.1 (cygming special)
Comment 2 Andrew Pinski 2003-10-19 07:39:55 UTC
The first part of the bug is fixed on the mainline (20031018) with an abi warning.
The other part, I can confirm on the mainline (20031018).
Comment 3 Andrew Pinski 2005-01-14 02:58:53 UTC
Fixed on the mainline
: Search converges between 2004-12-01-014001-trunk (#666) and 2004-12-01-161001-trunk 
(#667).