[llvm-commits] Removed intrinsics in r149367
Duncan Sands
baldrick at free.fr
Mon Feb 13 08:14:48 PST 2012
Hi Elena,
> You removed pcmpgt/pcmpeq intrinsic, but we use them.
> Could you, please, put them back?
you can either implement them using generic IR like I did in dragonegg:
case pcmpeqb128:
case pcmpeqb256:
case pcmpeqd128:
case pcmpeqd256:
case pcmpeqq:
case pcmpeqq256:
case pcmpeqw128:
case pcmpeqw256:
Result = Builder.CreateICmpEQ(Ops[0], Ops[1]);
// Need to sign extend since icmp returns a vector of i1.
Result = Builder.CreateSExt(Result, ResultType);
return true;
case pcmpgtb128:
case pcmpgtb256:
case pcmpgtd128:
case pcmpgtd256:
case pcmpgtq:
case pcmpgtq256:
case pcmpgtw128:
case pcmpgtw256:
Result = Builder.CreateICmpSGT(Ops[0], Ops[1]);
// Need to sign extend since icmp returns a vector of i1.
Result = Builder.CreateSExt(Result, ResultType);
Or have your front-end spit an appropriate inline asm into the IR.
Ciao, Duncan.
More information about the llvm-commits
mailing list