[llvm-commits] [llvm] r51019 - in /llvm/trunk: lib/Target/X86/README-SSE.txt lib/Target/X86/X86InstrInfo.td test/CodeGen/X86/vec_set-H.ll

Török Edwin edwintorok at gmail.com
Tue May 13 10:06:58 PDT 2008


Chris Lattner wrote:
> On May 13, 2008, at 9:43 AM, Evan Cheng wrote:
>
>   
>> On May 13, 2008, at 1:22 AM, Duncan Sands wrote:
>>
>>     
>>> Hi Evan,
>>>
>>>       
>>>> On x86, it's safe to treat i32 load anyext as a normal i32 load.
>>>> Ditto for i8 anyext load to i16.
>>>>         
>>> if this was loading the last two bytes in a page, then now it will be
>>> loading two bytes from the next page, which could trap.  Similarly,  
>>> if
>>>       
>> I'm pretty certain that's not possible on x86.
>>     
>
> Checking that the i8 is known to have 16 bit alignment should be  
> sufficient to prevent this.

This reminds me of a gcc 4.0 bug that caused a kernel crash.

A byte access was turned into a word access, and the pointer was at the
end of a page, see full details here:
http://lkml.org/lkml/2007/10/3/172

Best regards,
--Edwin



More information about the llvm-commits mailing list