This test includes the implicit assumption that the 'long' type on AArch64 is a 64 bit type. This is not the case for ILP32, so use 'long long' instead.
Shows the expected new PASSes on aarch64-linux-gnu_ilp32, no regressions on aarch64-linux-gnu, gcc/testsuite: <date> Charles Baylis <charles.bay...@linaro.org> * gcc.target/aarch64/fmul_fcvt_1.c (lsffoo##__a): Rename to... (llsffoo##__a): ... and make return type long long. (ulsffoo##__a): Rename to... (ullsffoo##__a): ... and make return type unsigned long long.
From 42632399661326b850e40ededc61bb105421b828 Mon Sep 17 00:00:00 2001 From: Charles Baylis <charles.bay...@linaro.org> Date: Mon, 23 Oct 2017 17:08:36 +0100 Subject: [PATCH 1/4] [AArch64] gcc.target/aarch64/fmul_fcvt_1.c: ilp32 fixes <date> Charles Baylis <charles.bay...@linaro.org> * gcc.target/aarch64/fmul_fcvt_1.c (lsffoo##__a): Rename to... (llsffoo##__a): ... and make return type long long. (ulsffoo##__a): Rename to... (ullsffoo##__a): ... and make return type unsigned long long. --- gcc/testsuite/gcc.target/aarch64/fmul_fcvt_1.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/fmul_fcvt_1.c b/gcc/testsuite/gcc.target/aarch64/fmul_fcvt_1.c index f78f6ee..3be182d 100644 --- a/gcc/testsuite/gcc.target/aarch64/fmul_fcvt_1.c +++ b/gcc/testsuite/gcc.target/aarch64/fmul_fcvt_1.c @@ -14,14 +14,14 @@ usffoo##__a (float x) \ return x * __a##.0f; \ } \ \ -long \ -lsffoo##__a (float x) \ +long long \ +llsffoo##__a (float x) \ { \ return x * __a##.0f; \ } \ \ -unsigned long \ -ulsffoo##__a (float x) \ +unsigned long long \ +ullsffoo##__a (float x) \ { \ return x * __a##.0f; \ } @@ -101,9 +101,9 @@ do \ __builtin_abort (); \ if (usffoo##__a (__b) != (unsigned int)(__b * __a)) \ __builtin_abort (); \ - if (lsffoo##__a (__b) != (long long)(__b * __a)) \ + if (llsffoo##__a (__b) != (long long)(__b * __a)) \ __builtin_abort (); \ - if (ulsffoo##__a (__b) != (unsigned long long)(__b * __a)) \ + if (ullsffoo##__a (__b) != (unsigned long long)(__b * __a)) \ __builtin_abort (); \ } while (0) -- 2.7.4