[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