[llvm-commits] [llvm] r99953 - /llvm/trunk/lib/Target/X86/X86InstrSSE.td
Chris Lattner
clattner at apple.com
Tue Mar 30 20:56:40 PDT 2010
On Mar 30, 2010, at 4:16 PM, Jakob Stoklund Olesen wrote:
>
> 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.
Right, I was thinking more of the zero case than the all-ones case, thanks.
-Chris
More information about the llvm-commits
mailing list