[PATCH][AArch64] Fix some scan-assembler tests for -mabi=ilp32

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Wed Jun 29 10:51:00 GMT 2016


On 29/06/16 11:47, James Greenhalgh wrote:
> On Wed, Jun 29, 2016 at 11:40:13AM +0100, Kyrill Tkachov wrote:
>> Hi all,
>>
>> I notice these scan-assembler tests fail when testing -mabi=ilp32 because the
>> 64-bit operation that they expect doesn't happen on the 32-bit long types in
>> that configuration.
>>
>> The easy fix is to change the 'long' types to be 'long long' so that they are
>> always 64-bit.  With this patch the tests now pass with and without
>> -mabi=ilp32.
> 
> In my opinion, the better fix would be something like:
> 
>   typedef int SImode __attribute__((mode(SI)));
>   typedef int DImode __attribute__((mode(DI)));
> 
> Then:
> 
>   SImode
>   foosi (SImode x)
>   {
>     ...
>   }
> 
>   DImode
>   foodi (DImode x)
>   {
>     ...
>   }
> 
> As these patterns are explictly testing that the back-end patterns are
> triggered for data of any type, under any ABI, with the appropriate mode.
> 

Yeah, good idea.

R.

> Thanks,
> James
> 
> 
>> 2016-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>>
>>     * gcc.target/aarch64/cinc_common_1.c: Use long long instead of long.
>>     * gcc.target/aarch64/combine_bfi_1.c: Likewise.
>>     * gcc.target/aarch64/fmul_fcvt_1.c: Likewise.
>>     * gcc.target/aarch64/mult-synth_4.c: Likewise.
>>     * gcc.target/aarch64/target_attr_3.c: Likewise.
> 



More information about the Gcc-patches mailing list