https://bugs.llvm.org/show_bug.cgi?id=36060

Sanjay Patel <spatel+l...@rotateright.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
           See Also|                            |https://bugs.llvm.org/show_
                   |                            |bug.cgi?id=24125
             Status|NEW                         |RESOLVED

--- Comment #6 from Sanjay Patel <spatel+l...@rotateright.com> ---

(In reply to Alexej Harm from comment #5)
> Adding "-msse3 -mssse3 -msse4.1 -msse4.2" solved the problem. This was 100%
> my fault.
> 
> If it is technically possible to make the error message a bit clearer, I
> would suggest that it's a good idea to do so.

This is a long-standing problem when compiling x86 intrinsics (see bug 24125
and related bugs).

We do get this right in the simple case:

$ cat pshuf.c 
#include <immintrin.h>

__m128i need_ssse3(__m128i x, __m128i idx) {
    return _mm_shuffle_epi8(x, idx);
}

$ clang -O1 pshuf.c -S -o - -mno-ssse3
pshuf.c:4:12: error: always_inline function '_mm_shuffle_epi8' requires target
feature 'ssse3', but would be inlined into function 'need_ssse3' that is
compiled without
      support for 'ssse3'
    return _mm_shuffle_epi8(x, idx);

--------------------------------------------------------------------------

I don't think there's anything more we can do in the example you've used
(overriding the features via defines in your source code), so I'm marking this
as invalid. Feel free to reopen if you disagree.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to