[llvm-commits] [llvm] r139854 - /llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Thu Sep 15 16:39:53 PDT 2011
On Sep 15, 2011, at 3:58 PM, Bruno Cardoso Lopes wrote:
> Hi Chris,
>
> On Thu, Sep 15, 2011 at 3:55 PM, Chris Lattner <clattner at apple.com> wrote:
>>
>> On Sep 15, 2011, at 2:42 PM, Bruno Cardoso Lopes wrote:
>>
>>> Author: bruno
>>> Date: Thu Sep 15 16:42:23 2011
>>> New Revision: 139854
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=139854&view=rev
>>> Log:
>>> Factor out partial register update checks for some SSE instructions.
>>> Also add the AVX versions and add comments!
>>
>> Hi Bruno,
>>
>> I know it isn't your fault, but could hasPartialRegUpdate become a "TSFlag" bit so it can be in the .td files instead of .cpp code?
>
> I was just talking about that with Jakob, already in my TODO. I'll add
> FIXME there anyways! :)
I just realized: These are the SSE instructions that read a single value and write a partial register. All the other *SS and *SD instructions read two values, and they are in two-address form. That means the false dependency on the high bits in the destination register is already satisfied as a real dependency on the tied operand.
Bruno, if you find other SSE instructions that read a single register and write a partial register, they should probably get the TSFlag bit too. I think MOVSSrr/MOVSDrr are the only ones missing.
/jakob
More information about the llvm-commits
mailing list