> From: Marcus Shawcroft [mailto:marcus.shawcr...@gmail.com] > Sent: 19 May 2014 11:45 > To: Ian Bolton > Cc: gcc-patches > Subject: Re: [PATCH, AArch64] Fix macro in vdup_lane_2 test case > > On 8 May 2014 18:41, Ian Bolton <ian.bol...@arm.com> wrote: > > > gcc/testsuite > > * gcc.target/aarch64/vdup_lane_2.c (force_simd): Emit an > > actual instruction to move into the allocated register. > > This macro is attempting to force a value to a particular class of > register, we don't need or want the mov instruction at all. Isn't > something like this sufficient: > > #define force_simd(V1) asm volatile ("" \ > : "+w"(V1) \ > : \ > : /* No clobbers */) > > ? > > /Marcus
Thanks for the review, Marcus. I did not think of that and it looks sane, but your suggested approach leads to some of the dup instructions being optimised away. Ordinarily, that would be great but these test cases are trying to force the dups to occur. Cheers, Ian