[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