After tinkering with ldc.llvmasm (and figuring out that the asm argument a specified in reverse order) i have got everything working. E.g. __m128i _mm_alignr_epi8(u8 count)(__m128i A, __m128i B) { return __asm!__m128i("palignr $3, $2, $1", "=x,0,x,i", A, B, count); } Thank you again!