This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/15703] New: internal compiler error in push_reload compiling SSE2 instructions


error compiling SSE2 code with -O1 or above, but not at -O0
gcc version 3.3.4 20040519 (prerelease)
    internal compiler error: in push_reload, at reload.c: 1315
error occurs also with gcc version 3.3.3 (Debian 20040401)

#include <emmintrin.h>

void push_reload_bug () {
  __m64 Out;
  __m128i R0, R1, R2, R3, R4, R5, R6, R7;
  for (unsigned int by=0; by<16; by+=128) {
    for (unsigned int bx=0; bx<16; bx+=128) {
      for (unsigned int iy=0; iy<16; iy+=4) {
        __m64* op = &Out;
        for (unsigned int ix=0; ix<16; ix+=8) {
          R0 = _mm_add_epi32(_mm_unpacklo_epi32(R0, R1), _mm_unpackhi_epi32(R0, 
R1));
          R2 = _mm_add_epi32(_mm_unpacklo_epi32(R2, R3), _mm_unpackhi_epi32(R2, 
R3));
          R1 = _mm_unpackhi_epi32(R0, R2);
          R3 = _mm_unpacklo_epi32(R0, R2);
          R0 = _mm_add_epi32(R1, R3);
          R1 = _mm_cmplt_epi32(_mm_setzero_si128(), R0);
          R0 = _mm_and_si128(R1, R0);
          R0 = _mm_srli_epi32(R0, 15);
          *op = _mm_movepi64_pi64(_mm_slli_epi16(_mm_shufflelo_epi16
(_mm_packs_epi32(R0, _mm_setzero_si128()), _MM_SHUFFLE(3, 1, 2, 0)), 1));
        }
      }
    }
  }
}

-- 
           Summary: internal compiler error in push_reload compiling SSE2
                    instructions
           Product: gcc
           Version: 3.3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: micis at gmx dot de
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]