r216249 - [test/CodeGen/ARM] Adpat test to match new codegen after r216236.

Quentin Colombet qcolombet at apple.com
Mon Aug 25 09:57:50 PDT 2014


Hi Renato,

> On Aug 25, 2014, at 5:23 AM, Renato Golin <renato.golin at linaro.org> wrote:
> 
> On 22 August 2014 01:27, Quentin Colombet <qcolombet at apple.com> wrote:
>> Author: qcolombet
>> Date: Thu Aug 21 19:27:52 2014
>> New Revision: 216249
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=216249&view=rev
>> Log:
>> [test/CodeGen/ARM] Adpat test to match new codegen after r216236.
> 
> 
> Hi Quentin,
> 
> I think removing the tests is not a good idea, since they're not
> testing optimizations, but the correct lowering of the intrinsics.
> 
> The right way of fixing this test is to avoid the optimization to
> occur, by making the parameters extern variables or the like.

The problem is that the intrinsics at stake are just fancy moves, that can be coalesced. I do not think there is a way to prevent the optimization to happen other than disabling the optimization.
I can add the flag to do that, but I guess that wouldn’t be the right fix, since we could have another backend that LLVM.
If we do want to check the lowering of intrinsics, shouldn’t we drop Os from the run command?

To get a sense of what is different, here are a few examples,
_test_vdup_n_u32:
	vmov	d16, r0, r0
	vmov	r0, r1, d16
	bx	lr
=>
_test_vdup_n_u32:
	mov	r1, r0
	bx	lr

———
_test_vcreate_s64:
	vmov.32	d16[0], r0
	vmov.32	d16[1], r1
	vmov	r0, r1, d16
	bx	lr
=>
_test_vcreate_s64:
	bx	lr

———
_test_vget_lane_u32:
	vmov	d0, r0, r1
	vmov	r0, s1
	bx	lr
=>
_test_vget_lane_u32:
	mov	r0, r1
	bx	lr

Thanks,
-Quentin
> 
> cheers,
> --renato

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140825/97046b0b/attachment.html>


More information about the cfe-commits mailing list