#include <xmmintrin.h>

int main(int argc, char** argv) {
        return 0;
}

---

If compiled with g++ -O -fkeep-inline-functions, this errors out with 

/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1-pre20080306/include/emmintrin.h: In
function &#8216;long long int __vector__ _mm_shuffle_epi32(long long int
__vector__, int)&#8217;:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1-pre20080306/include/emmintrin.h:1382:
error: mask must be an immediate
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1-pre20080306/include/emmintrin.h: In
function &#8216;long long int __vector__ _mm_shufflelo_epi16(long long int
__vector__, int)&#8217;:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1-pre20080306/include/emmintrin.h:1376:
error: mask must be an immediate
...
and much more lines to follow.

This did not happen with 4.2.3. I am not able to make sure there are no bogus
headers on the host involved, so I attached the preprocessed source.


-- 
           Summary: -fkeep-inline-functions and -O errors out in SSE headers
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: gpiez at web dot de
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


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

Reply via email to