[ARM] Fix test pr82989.c for big endian and mthumb

Message ID 4bdd2e5b-992b-7c35-3d2e-20c3bf9c0e23@arm.com
State New
Headers show
Series
  • [ARM] Fix test pr82989.c for big endian and mthumb
Related show

Commit Message

Sudakshina Das March 21, 2018, 12:11 p.m.
Hi

The test pr82989.c which was added in one of previous commits is failing
for mthumb and big-endian configurations. The aim of this test was to
check that NEON instructions are not being used for simple shift
operations. The scanning of lsl and lsr instructions and checking its
counts were just too restrictive for different configurations. So I
have now simplified the test to only check for the absence of NEON
instructions.

Testing: Only test case change so only tested the said test on
differently configured toolchain.
@Christophe can you confirm this patch fixes the failure for you?

Thanks
Sudi

*** gcc/testsuite/ChangeLog ***

2018-03-21  Sudakshina Das  <sudi.das@arm.com>

         PR target/82989
         * gcc.target/arm/pr82989.c: Change dg-scan-assembly directives.

Comments

Christophe Lyon March 21, 2018, 4:33 p.m. | #1
On 21 March 2018 at 13:11, Sudakshina Das <sudi.das@arm.com> wrote:
> Hi

>

> The test pr82989.c which was added in one of previous commits is failing

> for mthumb and big-endian configurations. The aim of this test was to

> check that NEON instructions are not being used for simple shift

> operations. The scanning of lsl and lsr instructions and checking its

> counts were just too restrictive for different configurations. So I

> have now simplified the test to only check for the absence of NEON

> instructions.

>

> Testing: Only test case change so only tested the said test on

> differently configured toolchain.

> @Christophe can you confirm this patch fixes the failure for you?

>


Yes, the validations are now OK my side.

Thanks

Christophe

> Thanks

> Sudi

>

> *** gcc/testsuite/ChangeLog ***

>

> 2018-03-21  Sudakshina Das  <sudi.das@arm.com>

>

>         PR target/82989

>         * gcc.target/arm/pr82989.c: Change dg-scan-assembly directives.
Kyrill Tkachov March 21, 2018, 5:03 p.m. | #2
On 21/03/18 16:33, Christophe Lyon wrote:
> On 21 March 2018 at 13:11, Sudakshina Das <sudi.das@arm.com> wrote:

>> Hi

>>

>> The test pr82989.c which was added in one of previous commits is failing

>> for mthumb and big-endian configurations. The aim of this test was to

>> check that NEON instructions are not being used for simple shift

>> operations. The scanning of lsl and lsr instructions and checking its

>> counts were just too restrictive for different configurations. So I

>> have now simplified the test to only check for the absence of NEON

>> instructions.

>>

>> Testing: Only test case change so only tested the said test on

>> differently configured toolchain.

>> @Christophe can you confirm this patch fixes the failure for you?

>>

> Yes, the validations are now OK my side.


Thanks, the patch is ok for trunk.

Kyrill

> Thanks

>

> Christophe

>

>> Thanks

>> Sudi

>>

>> *** gcc/testsuite/ChangeLog ***

>>

>> 2018-03-21  Sudakshina Das  <sudi.das@arm.com>

>>

>>          PR target/82989

>>          * gcc.target/arm/pr82989.c: Change dg-scan-assembly directives.
Sudakshina Das March 21, 2018, 5:15 p.m. | #3
Hi

On 21/03/18 17:03, Kyrill Tkachov wrote:
> 

> On 21/03/18 16:33, Christophe Lyon wrote:

>> On 21 March 2018 at 13:11, Sudakshina Das <sudi.das@arm.com> wrote:

>>> Hi

>>>

>>> The test pr82989.c which was added in one of previous commits is failing

>>> for mthumb and big-endian configurations. The aim of this test was to

>>> check that NEON instructions are not being used for simple shift

>>> operations. The scanning of lsl and lsr instructions and checking its

>>> counts were just too restrictive for different configurations. So I

>>> have now simplified the test to only check for the absence of NEON

>>> instructions.

>>>

>>> Testing: Only test case change so only tested the said test on

>>> differently configured toolchain.

>>> @Christophe can you confirm this patch fixes the failure for you?

>>>

>> Yes, the validations are now OK my side.

> 

> Thanks, the patch is ok for trunk.


Thanks Christophe for validating and Kyrill for the Ok.
Committed to trunk as r258723.

Thanks
Sudi

> 

> Kyrill

> 

>> Thanks

>>

>> Christophe

>>

>>> Thanks

>>> Sudi

>>>

>>> *** gcc/testsuite/ChangeLog ***

>>>

>>> 2018-03-21  Sudakshina Das  <sudi.das@arm.com>

>>>

>>>          PR target/82989

>>>          * gcc.target/arm/pr82989.c: Change dg-scan-assembly directives.

>

Patch

diff --git a/gcc/testsuite/gcc.target/arm/pr82989.c b/gcc/testsuite/gcc.target/arm/pr82989.c
index 6f74dba..8519c3f 100644
--- a/gcc/testsuite/gcc.target/arm/pr82989.c
+++ b/gcc/testsuite/gcc.target/arm/pr82989.c
@@ -13,26 +13,21 @@  void f_shr_imm (uint64_t *a)
 {
   *a += *a >> 32;
 }
-/* { dg-final { scan-assembler-not "vshr*" } } */
 
 void f_shr_reg (uint64_t *a, uint64_t b)
 {
   *a += *a >> b;
 }
-/* { dg-final { scan-assembler-not "vshl*" } } */
-/* Only 2 times for f_shr_reg. f_shr_imm should not have any.  */
-/* { dg-final { scan-assembler-times {lsr\tr[0-9]+, r[0-9]+, r[0-9]} 2 } } */
 
 void f_shl_imm (uint64_t *a)
 {
   *a += *a << 32;
 }
-/* { dg-final { scan-assembler-not "vshl*" } } */
 
 void f_shl_reg (uint64_t *a, uint64_t b)
 {
   *a += *a << b;
 }
 /* { dg-final { scan-assembler-not "vshl*" } } */
-/* Only 2 times for f_shl_reg. f_shl_imm should not have any.  */
-/* { dg-final { scan-assembler-times {lsl\tr[0-9]+, r[0-9]+, r[0-9]} 2 } } */
+/* { dg-final { scan-assembler-not "vshr*" } } */
+/* { dg-final { scan-assembler-not "vmov*" } } */