[llvm-commits] Removed intrinsics in r149367

Demikhovsky, Elena elena.demikhovsky at intel.com
Mon Feb 13 09:23:43 PST 2012


Thank you. I'll try.

- Elena

-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Duncan Sands
Sent: Monday, February 13, 2012 18:15
To: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits] Removed intrinsics in r149367

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.
_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.





More information about the llvm-commits mailing list