[llvm-commits] [llvm] r99953 - /llvm/trunk/lib/Target/X86/X86InstrSSE.td
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Mar 30 16:16:34 PDT 2010
On Mar 30, 2010, at 3:57 PM, Jakob Stoklund Olesen wrote:
>
> On Mar 30, 2010, at 3:50 PM, Chris Lattner wrote:
>
>>
>> On Mar 30, 2010, at 3:46 PM, Jakob Stoklund Olesen wrote:
>>
>>> Author: stoklund
>>> Date: Tue Mar 30 17:46:55 2010
>>> New Revision: 99953
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=99953&view=rev
>>> Log:
>>> V_SETALLONES is an integer instruction.
>>>
>>> Since it is just a pxor in disguise, we should probably expand it to a full
>>> polymorphic triple.
>>
>> Couldn't V_SETALLONES be implementated in all domains to avoid a domain crossing?
>
> Yes, and so can V_SET0.
On second thought, no it can't.
V_SETALLONES is implemented as pcmpeqd, and the corresponding floating-point operation would be cmpeqps/cmpeqpd. But that does not produce all ones if the register happens to contain a NaN!
I don't think that V_SETALLONES is useful for floating-point anyway?
V_SET0 is easy to do. It is implemented with xorps.
More information about the llvm-commits
mailing list