[llvm-commits] [llvm] r85685 - in /llvm/trunk: lib/Target/ARM/ARMISelLowering.cpp test/CodeGen/ARM/long_shift.ll

Jim Grosbach grosbach at apple.com
Sat Oct 31 14:22:26 PDT 2009


On Oct 31, 2009, at 2:09 PM, Chris Lattner wrote:
> On Oct 31, 2009, at 2:00 PM, Jim Grosbach wrote:
>
>> Author: grosbach
>> Date: Sat Oct 31 16:00:56 2009
>> New Revision: 85685
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=85685&view=rev
>> Log:
>> Expand 64-bit arithmetic shift right inline
>>
>> +++ llvm/trunk/test/CodeGen/ARM/long_shift.ll Sat Oct 31 16:00:56  
>> 2009
>> @@ -19,7 +19,7 @@
>>
>> define i32 @f2(i64 %x, i64 %y) {
>> ; CHECK: f2
>> -; CHECK: __ashrdi3
>> +; CHECK: movge r0, r1, asr r2
>> 	%a = ashr i64 %x, %y
>> 	%b = trunc i64 %a to i32
>> 	ret i32 %b
>
> Hi Jim,
>
> Any reason not to include the full code expected for this function  
> in the test?
>

Hi Chris,

Consistency with what was being tested prior to my changes to code  
gen, basically.

More specifically, due to the trunc instruction, some of the 64-bit  
shift code is being removed (correctly). Previously, the test was  
checking to make sure the shift was being done via a libcall, so now  
that it's inline, I'm looking for a representative instruction the  
indicates it's been done that way instead. If I check for the full  
instruction sequence, also testing the other aspects of what's  
happening, which is outside the scope of what I believe this test is  
intended for.

-Jim



More information about the llvm-commits mailing list