This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][AArch64 Testsuite]Fix scan-assembler test false alarm on aarch64-linux-gnu


The 'scan-assembler-not not' test in gcc.target/aarch64/simd/int_comparisons_1.c fails on aarch64-linux-gnu because the compiler adds a ".note" at the end of the .s file. This patch tightens the regex to only match a not with surrounding whitespace. (I've verified it still catches such if e.g. the changes to vcond_internal are reverted).

Test now passing on aarch64-none-elf and aarch64-none-linux-gnu.

gcc/testsuite/ChangeLog:

	* gcc.target/aarch64/simd/inc_comparisons_1.c: Tighten regexp.

Christophe Lyon wrote:
Hi Alan,

In my cross-testing I've noticed that your new test:
gcc.target/aarch64/simd/int_comparisons_1.c scan-assembler-not not
is PASS for targets aarch64-none-elf and aarch64_be-none-elf, but
FAIL for aarch64-none-linux-gnu.

It seems this is not what you saw in your own validations?

Christophe.



On 2 September 2014 17:17, Marcus Shawcroft <marcus.shawcroft@gmail.com> wrote:
On 19 August 2014 11:44, Alan Lawrence <alan.lawrence@arm.com> wrote:

gcc/ChangeLog:

        * config/aarch64/aarch64-builtins.c (aarch64_types_cmtst_qualifiers,
        TYPES_TST): Define.
        (aarch64_fold_builtin): Update pattern for cmtst.

        * config/aarch64/aarch64-protos.h
(aarch64_const_vec_all_same_int_p):
        Declare.

        * config/aarch64/aarch64-simd-builtins.def (cmtst): Update
qualifiers.

        * config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode><mode>):
        Switch operands, separate out more cases, refactor.

        (aarch64_cmtst<mode>): Rewrite pattern to match (plus ... -1).

        * config/aarch64.c (aarch64_const_vec_all_same_int_p): Take single
        argument; rename old version to...
        (aarch64_const_vec_all_same_in_range_p): ...this.
        (aarch64_print_operand, aarch64_simd_shift_imm_p): Follow renaming.

        * config/aarch64/predicates.md (aarch64_simd_imm_minus_one): Define.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/simd/int_comparisons.x: New file.
        * gcc.target/aarch64/simd/int_comparisons_1.c: New test.
        * gcc.target/aarch64/simd/int_comparisons_2.c: Ditto.
OK /Marcus

diff --git a/gcc/testsuite/gcc.target/aarch64/simd/int_comparisons_1.c b/gcc/testsuite/gcc.target/aarch64/simd/int_comparisons_1.c
index 86c6ed28538affcc4c3ef6cacd74d002e32b0931..cb0f4a04c0fb5f2c93064c47a141556f7fd0f89a 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/int_comparisons_1.c
+++ b/gcc/testsuite/gcc.target/aarch64/simd/int_comparisons_1.c
@@ -44,4 +44,4 @@
 /* { dg-final { scan-assembler-times "\[ \t\](?:cmlt|sshr)\[ \t\]+d\[0-9\]+,\[ \t\]*d\[0-9\]+,\[ \t\]*#?(?:0|63)" 4 } } */
 
 // All should have been compiled into single insns without inverting result:
-/* { dg-final { scan-assembler-not "not" } } */
+/* { dg-final { scan-assembler-not "\[ \t\]not\[ \t\]" } } */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]