Bug 19326 - [4.0 Regression] gcc.c-torture/execute/simd-6.c fails on x86-64
Summary: [4.0 Regression] gcc.c-torture/execute/simd-6.c fails on x86-64
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code, ssemmx
Depends on:
Blocks:
 
Reported: 2005-01-08 16:55 UTC by Andreas Jaeger
Modified: 2005-01-13 18:14 UTC (History)
3 users (show)

See Also:
Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
Build: x86_64-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2005-01-08 17:38:59


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Jaeger 2005-01-08 16:55:18 UTC
These tests started recently failing: 
   gcc.c-torture/execute/simd-6.c compilation,  -O3 -fomit-frame-pointer 
   gcc.c-torture/execute/simd-6.c compilation,  -O3 -g 
   gcc.c-torture/execute/simd-6.c compilation,  -Os 
 
Note, the tests work fine with -m32 - and also with the other compile options, 
just these three fail. 
 
Executing on host: /builds/gcc/misc/gcc/xgcc 
-B/builds/gcc/misc/gcc/ /cvs/gcc/gcc/testsuite/gcc.c-torture/execute/simd-6.c  
-w  -O3 -fomit-frame-pointer   -lm -o /builds/gcc/misc/gcc/testsuite/simd-6.x3    
(timeout = 300) 
/cvs/gcc/gcc/testsuite/gcc.c-torture/execute/simd-6.c: In function 'main': 
/cvs/gcc/gcc/testsuite/gcc.c-torture/execute/simd-6.c:22: error: unable to find 
a register to spill in class 'GENERAL_REGS' 
/cvs/gcc/gcc/testsuite/gcc.c-torture/execute/simd-6.c:22: error: this is the 
insn: 
(insn:HI 82 80 84 0 (set (strict_low_part (subreg:QI (reg:V8QI 21 xmm0 [128]) 
0)) 
        (const_int 3 [0x3])) 60 {*movstrictqi_1} (insn_list:REG_DEP_TRUE 80 
(nil)) 
    (nil)) 
/cvs/gcc/gcc/testsuite/gcc.c-torture/execute/simd-6.c:22: internal compiler 
error: in spill_failure, at reload1.c:1873 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <URL:http://gcc.gnu.org/bugs.html> for instructions. 
compiler exited with status 1
Comment 1 Andreas Jaeger 2005-01-08 17:01:44 UTC
These two fail with similiar ICEs: 
   gcc.dg/i386-sse-1.c (test for excess errors) 
   gcc.dg/i386-sse-2.c (test for excess errors) 
 
Comment 2 Eric Botcazou 2005-01-08 17:38:59 UTC
Confirmed, they appeared sometime over the past week.
Comment 3 Uroš Bizjak 2005-01-10 06:49:35 UTC
Is this PR related to PR 13366?
Comment 4 Uroš Bizjak 2005-01-13 13:19:44 UTC
(In reply to comment #1)
> These two fail with similiar ICEs: 
>    gcc.dg/i386-sse-1.c (test for excess errors) 
>    gcc.dg/i386-sse-2.c (test for excess errors) 

The ICE in both cases is in fact (produced with a crosscompiler):

In file included from
/usr/local.uros/lib/gcc/i686-pc-linux-gnu/4.0.0/include/xmmintrin.h:1211,
                 from i386-sse-2.c:12:
/usr/local.uros/lib/gcc/i686-pc-linux-gnu/4.0.0/include/emmintrin.h: In function
'_mm_cvtsi128_si64x':
/usr/local.uros/lib/gcc/i686-pc-linux-gnu/4.0.0/include/emmintrin.h:207:
internal compiler error: Segmentation fault
Comment 5 Uroš Bizjak 2005-01-13 15:10:32 UTC
The same failure for these, for both x86_64 and i686 with -msse2:

Running target unix
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -O0 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -O0 
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -O1 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -O1 
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -O2 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -O2 
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -O3 -fomit-frame-pointer 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -O3 -fomit-frame-pointer 
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -O3 -g 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/simd-1.c compilation,  -Os 
UNRESOLVED: gcc.c-torture/execute/simd-1.c execution,  -Os 

simd-1.c:74: error: unrecognizable insn:
(insn:HI 52 51 53 0 (set (reg:SI 94)
        (vec_select:SI (reg:V4SI 95)
            (parallel [
                    (const_int 1 [0x1])
                ]))) -1 (insn_list:REG_DEP_TRUE 51 (nil))
    (expr_list:REG_DEAD (reg:V4SI 95)
        (nil)))
simd-1.c:74: internal compiler error: in extract_insn, at recog.c:2020

I can't reproduce the failure for gcc.c-torture/execute/simd-2.c compilation as
reported in http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00595.html. Is
there a problem with:

simd-2.c: In function 'verify':
simd-2.c:26: warning: incompatible implicit declaration of built-in function 'abort'
simd-2.c: In function 'main':
simd-2.c:71: warning: incompatible implicit declaration of built-in function 'exit'

gcc.dg/simd-2.c crashes with:
gcc.dg/simd-2.c:48: internal compiler error: in gen_lowpart_general, at
rtlhooks.c:58
Please submit a full bug report,
with preprocessed source if appropriate.

gcc.c-torture/execute/simd-6.c failure is fixed on current mainline.
Comment 6 Andrew Pinski 2005-01-13 18:14:29 UTC
Fixed by:
        * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
        for converting the mask.