http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59789
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> --- A smaller testcase: [hjl@gnu-6 gcc]$ cat /tmp/x.c #pragma GCC push_options #pragma GCC target("sse2") typedef int __v4si __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) { return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 }; } #pragma GCC pop_options __m128i f1(void) { return _mm_set_epi32 (0, 0, 0, 0); } [hjl@gnu-6 gcc]$ ./xgcc -B./ -S /tmp/x.c -m32 -O2 -march=i686 /tmp/x.c: In function ‘f1’: /tmp/x.c:14:1: warning: SSE vector return without SSE enabled changes the ABI [enabled by default] f1(void) ^ /tmp/x.c:7:1: error: inlining failed in call to always_inline ‘_mm_set_epi32’: target specific option mismatch _mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) ^ /tmp/x.c:16:24: error: called from here return _mm_set_epi32 (0, 0, 0, 0); ^ /tmp/x.c:16:3: internal compiler error: in convert_move, at expr.c:333 return _mm_set_epi32 (0, 0, 0, 0); ^ 0x7da639 convert_move(rtx_def*, rtx_def*, int) /export/gnu/import/git/gcc/gcc/expr.c:333 0x7e8e77 store_expr(tree_node*, rtx_def*, int, bool) /export/gnu/import/git/gcc/gcc/expr.c:5389 0x7e787a expand_assignment(tree_node*, tree_node*, bool) /export/gnu/import/git/gcc/gcc/expr.c:5114 0x6e0645 expand_gimple_stmt_1 /export/gnu/import/git/gcc/gcc/cfgexpand.c:3213 0x6e0a3f expand_gimple_stmt /export/gnu/import/git/gcc/gcc/cfgexpand.c:3309 0x6e6e58 expand_gimple_basic_block /export/gnu/import/git/gcc/gcc/cfgexpand.c:5149 0x6e88fc gimple_expand_cfg /export/gnu/import/git/gcc/gcc/cfgexpand.c:5715 0x6e8f76 execute /export/gnu/import/git/gcc/gcc/cfgexpand.c:5935 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-6 gcc]$