[Bug target/21099] New: ICE on mmx intrinsics

2005-04-19 Thread jochang at gmail dot com
ICE on gcc 4.0.0rc2, but works on both 3.3.5 and 3.4.3.

$ /usr/local/gcc-4.0/bin/g++ -c -O -mmmx 1.cpp
1.cpp: In function 'void f()':
1.cpp:51: internal compiler error: in simplify_subreg, at simplify-rtx.c:3729

-- 
   Summary: ICE on mmx intrinsics
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21099


[Bug target/21099] ICE on mmx intrinsics

2005-04-19 Thread jochang at gmail dot com

--- Additional Comments From jochang at gmail dot com  2005-04-19 08:05 
---
Created an attachment (id=8680)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8680&action=view)
the test case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21099


[Bug target/21100] New: ICE: unrecognizable insn for -march=pentium-mmx

2005-04-19 Thread jochang at gmail dot com
ICE on gcc 4.0.0rc2, but both 3.3.5 and 3.4.3 work.
No ICE if change pentium-mmx to pentium2.

$ /usr/local/gcc-4.0/bin/g++ -c -march=pentium-mmx 2.cpp
2.cpp: In function 'void f()':
2.cpp:30: error: unrecognizable insn:
(insn 13 12 14 0 (set (mem/i:V2SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S8 A64])
(reg:V2SI 61 [ a ])) -1 (nil)
(expr_list:REG_DEAD (reg:V2SI 61 [ a ])
(nil)))
2.cpp:30: internal compiler error: in extract_insn, at recog.c:2020

-- 
   Summary: ICE: unrecognizable insn for -march=pentium-mmx
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21100


[Bug target/21100] ICE: unrecognizable insn for -march=pentium-mmx

2005-04-19 Thread jochang at gmail dot com

--- Additional Comments From jochang at gmail dot com  2005-04-19 09:05 
---
Created an attachment (id=8681)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8681&action=view)
the test case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21100


[Bug target/21101] New: ICE: could not find a spill register on MMX intrinsics

2005-04-19 Thread jochang at gmail dot com
ICE on gcc 4.0.0rc2, but both 3.3.5 and 3.4.3 work.

$ /usr/local/gcc-4.0/bin/g++ -c -O2 -funroll-loops -march=pentium4 3.cpp
3.cpp: In function 'void f()':
3.cpp:29: error: could not find a spill register
(insn:HI 95 94 96 0 (set (reg:V4HI 29 mm0 [orig:115 D.2920 ] [115])
(vec_duplicate:V4HI (truncate:HI (subreg:SI (reg:HI 111 [ B ]) 0 817
{*vec_dupv4hi} (insn_list:REG_DEP_TRUE 88 (nil))
(expr_list:REG_DEAD (reg:HI 111 [ B ])
(nil)))
3.cpp:29: internal compiler error: in failed_reload, at reload1.c:4982

-- 
   Summary: ICE: could not find a spill register on MMX intrinsics
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21101


[Bug target/21101] ICE: could not find a spill register on MMX intrinsics

2005-04-19 Thread jochang at gmail dot com

--- Additional Comments From jochang at gmail dot com  2005-04-19 10:15 
---
Created an attachment (id=8683)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8683&action=view)
the test case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21101


[Bug target/21102] New: ICE: in immed_double_const, on SSE2 intrinsics

2005-04-19 Thread jochang at gmail dot com
ICE on gcc 4.0.0rc2, but both 3.3.5 and 3.4.3 work.

$ /usr/local/gcc-4.0/bin/g++ -c -O -msse2 4.cpp
4.cpp: In function 'void f()':
4.cpp:10: internal compiler error: in immed_double_const, at emit-rtl.c:467

Here is the source:

#include 
__m128i S;
void f()
{
  __m128i A;
  A = _mm_add_epi8(A,A);
  A = _mm_andnot_si128(A,A);
  A = _mm_or_si128(A,A);
  _mm_store_si128(&S,A);
}

-- 
   Summary: ICE: in immed_double_const, on SSE2 intrinsics
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21102


[Bug inline-asm/18074] New: SSE2 intrinsics generates wrong code

2004-10-20 Thread jochang at gmail dot com
The command line: gcc -O2 -msse2 -S 2.c
The code:
#include 
int f(__m128i x, __m128i y)
{
  __m128i m[1];
  m[0] = _mm_add_epi16(x, y);
  return *(int*)(&m[0]);
}
int g(__m128i x, __m128i y)
{
  __m128i m[2];
  m[0] = _mm_add_epi16(x, y);
  return *(int*)(&m[0]);
}

The compiler generates correct code for f(),
but for g() the add operation (paddw) disappears.
Happens on GCC 3.3.4 and 3.4.2

-- 
   Summary: SSE2 intrinsics generates wrong code
   Product: gcc
   Version: 3.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18074


[Bug target/18779] New: SSE2 intrinsics cause segmentation fault and internal compiler error

2004-12-02 Thread jochang at gmail dot com
Command line: gcc -msse2 -O main.c

(1) The generated executable causes segmentation fault while running. It looks
like some alignment problem.

(2) If test1 and test2 are called directly from main(), not through test3, the
problem disappears.

(3) If the line "t2 = coeffs" in test1 is commented out, ICE happens:
main.c: In function `test1':
main.c:33: internal compiler error: in immed_double_const, at emit-rtl.c:481

-- 
   Summary: SSE2 intrinsics cause segmentation fault and internal
compiler error
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: jochang at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18779


[Bug target/18779] SSE2 intrinsics cause segmentation fault and internal compiler error

2004-12-02 Thread jochang at gmail dot com

--- Additional Comments From jochang at gmail dot com  2004-12-02 10:02 
---
Created an attachment (id=7655)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7655&action=view)
The test case

The problem happens on 3.4.2 and 3.4.3, but not on 3.3.4.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18779