target/9401: [x86] ICE with MMX/SSE codes

bangerth@dealii.org bangerth@dealii.org
Wed Jan 22 15:30:00 GMT 2003


Old Synopsis: g++ 3.1 and above produce internal compiler error when using built-in vector intrinsics
New Synopsis: [x86] ICE with MMX/SSE codes

State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Wed Jan 22 15:30:21 2003
State-Changed-Why:
    Confirmed. Here's a small testcase:
    ------------------------
    typedef int v4sf __attribute__ ((mode(V4SF)));
    
    struct X {
        X() {}
        X(int);
        int foo() { return *(int *)&x; }
        v4sf x;
    };
    
    void bar() {
      X x;
      int i, r, b;
      for(r=0; r<b; r++)
        x = x.foo();
    }
    --------------------------
    
    This ICEs 3.2, 3.3, and 3.4 alike:
    
    g/a> /home/bangerth/bin/gcc-3.4-pre/bin/gcc -msse -O3 x.cc
    x.cc: In function `void bar()':
    x.cc:15: error: unable to find a register to spill in class `GENERAL_REGS'
    x.cc:15: error: this is the insn:
    (insn:HI 56 87 62 2 0x401b8a7c (set (reg/v:SI 0 eax [67])
            (subreg:SI (reg/v:V4SF 21 exmm0 [59]) 0)) 45 {*movsi_1} (nil)
        (expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 7 esp)
                    (const_int 4 [0x4])) [0 S4 A32])
            (expr_list:REG_DEAD (reg/v:V4SF 21 exmm0 [59])
                (nil))))
    x.cc:15: internal compiler error: in spill_failure, at reload1.c:1924
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
    
    
    g/a> /home/bangerth/bin/gcc-3.3-pre/bin/gcc -msse -O3 x.cc
    x.cc: In function `void bar()':
    x.cc:15: error: unable to find a register to spill in class `GENERAL_REGS'
    x.cc:15: error: this is the insn:
    (insn:HI 55 85 61 2 0x401d70b0 (set (reg/v:SI 0 eax [67])
            (subreg:SI (reg/v:V4SF 21 exmm0 [59]) 0)) 38 {*movsi_1} (nil)
        (expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 7 esp)
                    (const_int 4 [0x4])) [0 S4 A32])
            (expr_list:REG_DEAD (reg/v:V4SF 21 exmm0 [59])
                (nil))))
    x.cc:15: internal compiler error: in spill_failure, at reload1.c:1920
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
    
    
    g/a> /home/bangerth/bin/gcc-3.2.2-pre/bin/gcc -msse -O3 x.cc
    x.cc: In function `void bar()':
    x.cc:15: Internal compiler error in gen_reg_rtx, at emit-rtl.c:662
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
    
    
    W.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9401



More information about the Gcc-prs mailing list