Using SSE3 vector shuffel with LDC

KytoDragon kytodragon at e.mail.de
Sun May 26 15:33:17 UTC 2019


On Sunday, 26 May 2019 at 13:54:32 UTC, kinke wrote:
> There's https://github.com/AuburnSounds/intel-intrinsics which 
> tries to be compatible with the Intel intrinsic names.
>
> _mm_aesdec_si128 is available in ldc.gccbuiltins_x86 as 
> __builtin_ia32_aesdec128; _mm_shuffle_epi8 as 
> __builtin_ia32_pshufb128. Make sure to specify that the 
> instructions are available via something like `-mattr=+ssse3` 
> in the LDC command line.
> I haven't found something corresponding to _mm_alignr_epi8, but 
> inline asm can always be used. Here's an example for a manual 
> __builtin_ia32_pshufb128 using LLVM inline assembly:
> <skip>

Thank You! I already have the intel-intrinsics package, that one 
just didn't have these spefic ones. I also didn't know about the 
sse compiler option, got that working now.
Concerning inline asm I thought that that prevents inlining, I 
will try out ldc.llvmasm .


More information about the digitalmars-d-ldc mailing list