Skip to content
This repository has been archived by the owner on Aug 22, 2019. It is now read-only.

Missing @llvm.x86.sse2.pmovmskb.128 builtin #845

Closed
mrigger opened this issue Jun 8, 2018 · 2 comments
Closed

Missing @llvm.x86.sse2.pmovmskb.128 builtin #845

mrigger opened this issue Jun 8, 2018 · 2 comments

Comments

@mrigger
Copy link
Contributor

mrigger commented Jun 8, 2018

The armon-libart benchmark from https://github.com/jku-ssw/benchmarks/ fails to execute due to the missing LLVM builtin @llvm.x86.sse2.pmovmskb.128. I wrote a test case to reproduce the error:

#include <emmintrin.h>
#include <assert.h>

int main() {
    __m128i val1 = {54312, 32423};
    __m128i val2 = {0x80808080, 0x80808080};
    __m128i val3 = {0x8080808080808080L, 0x8080808080808080L};
    __m128i val4 = {0, 0};
    __m128i val5 = {-1, -1};
    assert(_mm_movemask_epi8(val1) == 258);
    assert(_mm_movemask_epi8(val2) == 0x0f0f);
    assert(_mm_movemask_epi8(val3) == 0xffff);
    assert(_mm_movemask_epi8(val4) == 0);
    assert(_mm_movemask_epi8(val5) == 0xffff);
}
@lukasstadler
Copy link
Member

maybe you could give it a try and implement the missing builtin? ;-)

@mrigger
Copy link
Contributor Author

mrigger commented Jun 13, 2018

Fixed by 1a73862

@mrigger mrigger closed this as completed Jun 13, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants