------------------------------------------------------------------------------
/* { dg-do assemble { target x86_64-*-* } } */
/* { dg-options "-O2" } */

typedef int vec __attribute__ ((vector_size (8)));

void foo (int j, vec r)
{
  unsigned short *dst;
  
  while (j--)
    *dst = (unsigned long long) __builtin_ia32_por (r, (vec) 0LL);
}
------------------------------------------------------------------------------
gcc -S -O2 fbmmx1.c
fbmmx1.c: In function ‘foo’:
fbmmx1.c:14: error: unable to find a register to spill in class ‘GENERAL_REGS’
fbmmx1.c:14: error: this is the insn:
(insn:HI 31 27 33 2 (set (subreg:V2SI (reg:DI 1 dx [orig:72 D.1471 ] [72]) 0)
        (reg:V2SI 29 mm0 [74])) 920 {*movv2si_internal_rex64} (nil)
    (nil))
fbmmx1.c:14: internal compiler error: in spill_failure, at reload1.c:1872

-- 
           Summary: [4.0/4.1 regression] ICE in spill_failure, at
                    reload1.c:1872
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: belyshev at depni dot sinp dot msu dot ru
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: x86_64-unknown-linux-gnu


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

Reply via email to