#include <mmintrin.h>

void
foo (__m64 *p)
{
  __m64 m;

  m = p[0];
  m = _mm_srli_pi16(m, 2);
  m = _mm_slli_pi16(m, 8);

  p[0] = m;
  _mm_empty();
}

ICEs with both -O2 -m32 and -O2 -m64, in GCC 4.0.2, 4.1rc1 as well as trunk.


-- 
           Summary: ICE on vector shift RTL simplification
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i386-linux, x86_64-linux


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

Reply via email to