diff mbox

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

Message ID 540ED455.7060402@arm.com
State New
Headers show

Commit Message

Alan Lawrence Sept. 9, 2014, 10:20 a.m. UTC
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
>

Comments

Marcus Shawcroft Sept. 9, 2014, 10:49 a.m. UTC | #1
On 9 September 2014 11:20, Alan Lawrence <alan.lawrence@arm.com> wrote:
> 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.

OK /Marcus
diff mbox

Patch

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\]" } } */