RE: [AARCH64] [PATCH 2/3] AArch64 Port
-Original Message- From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- ow...@gcc.gnu.org] On Behalf Of Joseph S. Myers Sent: 25 May 2012 15:24 To: Marcus Shawcroft Cc: gcc-patches@gcc.gnu.org Subject: Re: [AARCH64] [PATCH 2/3] AArch64 Port On Fri, 25 May 2012, Marcus Shawcroft wrote: Index: gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x === --- gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x (revision 0) +++ gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x (revision 0) @@ -0,0 +1,5 @@ +if { [istarget aarch64_be-*-*] } then { + return 1 +} + +return 0 This isn't a suitable way of enabling a test only for one endianness, since a test may be run with -mbig-endian or -mlittle-endian with a compiler defaulting to the other endianness. You need to test an effective-target keyword instead. Index: gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x === --- gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x (revision 0) +++ gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x (revision 0) @@ -0,0 +1,5 @@ +if { [istarget aarch64_be-*-*] } then { + return 1 +} + +return 0 Likewise. Thanks. This is now fixed in: r190482 | sofiane | 2012-08-17 16:02:20 +0100 (Fri, 17 Aug 2012) | 9 lines [AArch64] Use effective-target to check for big endian Sofiane
Re: [AARCH64] [PATCH 2/3] AArch64 Port
On Fri, 25 May 2012, Marcus Shawcroft wrote: Index: gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x === --- gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x (revision 0) +++ gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-4.x (revision 0) @@ -0,0 +1,5 @@ +if { [istarget aarch64_be-*-*] } then { + return 1 +} + +return 0 This isn't a suitable way of enabling a test only for one endianness, since a test may be run with -mbig-endian or -mlittle-endian with a compiler defaulting to the other endianness. You need to test an effective-target keyword instead. Index: gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x === --- gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x (revision 0) +++ gcc/testsuite/gcc.target/aarch64/aapcs64/func-ret-3.x (revision 0) @@ -0,0 +1,5 @@ +if { [istarget aarch64_be-*-*] } then { + return 1 +} + +return 0 Likewise. +/* { dg-final { scan-assembler-times \\tsubhn2 v 6} } */ +/* { dg-final { scan-assembler-times \\taddhn2\\tv 6} } */ Scanning for lots of different instructions in a testcase testing many intrinsics doesn't do a good job of testing that each intrinsic does the right thing, or showing where the problem is when the test starts to fail. I advise splitting such tests up into lots of little tests, each testing just one intrinsic. -- Joseph S. Myers jos...@codesourcery.com