------------------------------------------------------------------------------ /* { 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