Displaying 1 result from an estimated 1 matches for "cmpordps".
Did you mean:
cmpops
2009 Jul 23
1
[LLVMdev] Case where VSETCC DAGCombiner hack doesn't work
...with clang >= r76726):
> #include <emmintrin.h>
> __m128i a(__m128 a, __m128 b) { return a==a & b==b; }
>
> CodeGen ends up scalarizing the comparison, which is really bad, and
> AFAIK different from what we did before vsetcc was removed. The ideal
> code is a single cmpordps, although I don't think clang ever generated
> that for this construct.
Ok, we were missing this specific case because of some instcombine
xforms that were only applying to scalars, not vectors. I tweaked
them to cover vectors and we're getting "perfect" code for this now...