[llvm-commits] Patch for X86 to use subregs

Evan Cheng evan.cheng at apple.com
Sat Jul 28 14:26:47 PDT 2007


On Jul 28, 2007, at 11:52 AM, Christopher Lamb <christopher.lamb at gmail.com 
 > wrote:

>
> On Jul 28, 2007, at 1:48 AM, Evan Cheng wrote:
>
>> Very cool! I need to read it more carefully.
>
>> But I see you are lowering zext to a single insert_subreg. Is that  
>> right? It won't zero out the top part, no?
>
> It's only lowering (zext i32 to i64) to an insert_subreg on x86-64  
> where all writes to 32-bit registers implicitly zero-extend into the  
> upper 32-bits.
>

I know. But thy mismatch semantically. A insert_subreg to the lower  
part should not change the upper half. I think this is only legal for  
anyext.

Evan

> --
> Chris
>
>> Sent from my iPhone
>>
>> On Jul 28, 2007, at 12:17 AM, Christopher Lamb <christopher.lamb at gmail.com 
>> > wrote:
>>
>>> This patch changes the X86 back end to use the new subreg  
>>> operations for appropriate truncate and extend operations. This  
>>> should allow regression testing of the subreg feature going  
>>> forward, as it's now used in a public target.
>>>
>>> The patch passed DejaGnu and all of SingleSource on my x86  
>>> machine, but there are changes for x86-64 as well which I haven't  
>>> been able to test. Output assembly for x86-64 appears sane, but  
>>> I'd appreciate someone giving the patch a try on their x86-64  
>>> system. Other 32-bit x86 testing is also appreciated.
>>>
>>> Thanks
>>> --
>>> Christopher Lamb
>>>
>>> <x86_subregs.patch>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> --
> Christopher Lamb
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070728/852b1f4e/attachment.html>


More information about the llvm-commits mailing list