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. Thanks, James > 2016-06-29 Kyrylo Tkachov <kyrylo.tkac...@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.