Is anyone versed in LLVM inline asm?
I know how to generate SIMD unary op with:
return __asm!int4("pmovsxwd $1,$0","=x,x",a);
but I struggle to generate 2-operands SIMD ops like:
return __asm!int4("paddd $1,$0","=x,x",a, b);
If you know how to do it => https://d.godbolt.org/z/ccM38bfMT it
would probably help build speed of SIMD heavy code, also -O0
performance
Also generating the right instruction is good but it must resist
optimization too, so proper LLVM constraints is needed. It would
be really helpful if someone has understood the cryptic rules of
LLVM assembly constraints.