diff mbox

[testsuite,ARM] PR61153 Fix vbic and vorn tests

Message ID CAKdteOZOm2tcvko7EwxT-vguh9gVajZ6gS8OsbNRJ5HQJiFWjg@mail.gmail.com
State New
Headers show

Commit Message

Christophe Lyon Oct. 29, 2014, 3:26 p.m. UTC
Hi,

In PR61153, the vbic and vorn tests fail because when compiled at -O0
the expected Neon instructions are not generated, making
scan-assembler fail.

This patch:
- replaces -O0 by -O2
- moves the declaration of local variables used as intrinsics
parameters and results to global declarations, to prevent the compiler
from optimizing the whole test away.

OK?

Christophe.

2014-10-29  Christophe Lyon  <christophe.lyon@linaro.org>

    PR target/61153
    * gcc.target/arm/neon/vbicQs16.c: Compile at O2 and move variables
    declarations from local to global.
    * gcc.target/arm/neon/vbicQs16.c: Likewise.
    * gcc.target/arm/neon/vbicQs32.c: Likewise.
    * gcc.target/arm/neon/vbicQs64.c: Likewise.
    * gcc.target/arm/neon/vbicQs8.c: Likewise.
    * gcc.target/arm/neon/vbicQu16.c: Likewise.
    * gcc.target/arm/neon/vbicQu32.c: Likewise.
    * gcc.target/arm/neon/vbicQu64.c: Likewise.
    * gcc.target/arm/neon/vbicQu8.c: Likewise.
    * gcc.target/arm/neon/vbics16.c: Likewise.
    * gcc.target/arm/neon/vbics32.c: Likewise.
    * gcc.target/arm/neon/vbics64.c: Likewise.
    * gcc.target/arm/neon/vbics8.c: Likewise.
    * gcc.target/arm/neon/vbicu16.c: Likewise.
    * gcc.target/arm/neon/vbicu32.c: Likewise.
    * gcc.target/arm/neon/vbicu64.c: Likewise.
    * gcc.target/arm/neon/vbicu8.c: Likewise.
    * gcc.target/arm/neon/vornQs16.c: Likewise.
    * gcc.target/arm/neon/vornQs32.c: Likewise.
    * gcc.target/arm/neon/vornQs64.c: Likewise.
    * gcc.target/arm/neon/vornQs8.c: Likewise.
    * gcc.target/arm/neon/vornQu16.c: Likewise.
    * gcc.target/arm/neon/vornQu32.c: Likewise.
    * gcc.target/arm/neon/vornQu64.c: Likewise.
    * gcc.target/arm/neon/vornQu8.c: Likewise.
    * gcc.target/arm/neon/vorns16.c: Likewise.
    * gcc.target/arm/neon/vorns32.c: Likewise.
    * gcc.target/arm/neon/vorns64.c: Likewise.
    * gcc.target/arm/neon/vorns8.c: Likewise.
    * gcc.target/arm/neon/vornu16.c: Likewise.
    * gcc.target/arm/neon/vornu32.c: Likewise.
    * gcc.target/arm/neon/vornu64.c: Likewise.
    * gcc.target/arm/neon/vornu8.c: Likewise.

Comments

Ramana Radhakrishnan Oct. 29, 2014, 3:28 p.m. UTC | #1
On Wed, Oct 29, 2014 at 3:26 PM, Christophe Lyon
<christophe.lyon@linaro.org> wrote:
> Hi,
>
> In PR61153, the vbic and vorn tests fail because when compiled at -O0
> the expected Neon instructions are not generated, making
> scan-assembler fail.
>
> This patch:
> - replaces -O0 by -O2
> - moves the declaration of local variables used as intrinsics
> parameters and results to global declarations, to prevent the compiler
> from optimizing the whole test away.
>
> OK?
>

If you really want to do it , do it in neon-testgen.ml and do it for
the whole lot.

regards
Ramana
> Christophe.
>
> 2014-10-29  Christophe Lyon  <christophe.lyon@linaro.org>
>
>     PR target/61153
>     * gcc.target/arm/neon/vbicQs16.c: Compile at O2 and move variables
>     declarations from local to global.
>     * gcc.target/arm/neon/vbicQs16.c: Likewise.
>     * gcc.target/arm/neon/vbicQs32.c: Likewise.
>     * gcc.target/arm/neon/vbicQs64.c: Likewise.
>     * gcc.target/arm/neon/vbicQs8.c: Likewise.
>     * gcc.target/arm/neon/vbicQu16.c: Likewise.
>     * gcc.target/arm/neon/vbicQu32.c: Likewise.
>     * gcc.target/arm/neon/vbicQu64.c: Likewise.
>     * gcc.target/arm/neon/vbicQu8.c: Likewise.
>     * gcc.target/arm/neon/vbics16.c: Likewise.
>     * gcc.target/arm/neon/vbics32.c: Likewise.
>     * gcc.target/arm/neon/vbics64.c: Likewise.
>     * gcc.target/arm/neon/vbics8.c: Likewise.
>     * gcc.target/arm/neon/vbicu16.c: Likewise.
>     * gcc.target/arm/neon/vbicu32.c: Likewise.
>     * gcc.target/arm/neon/vbicu64.c: Likewise.
>     * gcc.target/arm/neon/vbicu8.c: Likewise.
>     * gcc.target/arm/neon/vornQs16.c: Likewise.
>     * gcc.target/arm/neon/vornQs32.c: Likewise.
>     * gcc.target/arm/neon/vornQs64.c: Likewise.
>     * gcc.target/arm/neon/vornQs8.c: Likewise.
>     * gcc.target/arm/neon/vornQu16.c: Likewise.
>     * gcc.target/arm/neon/vornQu32.c: Likewise.
>     * gcc.target/arm/neon/vornQu64.c: Likewise.
>     * gcc.target/arm/neon/vornQu8.c: Likewise.
>     * gcc.target/arm/neon/vorns16.c: Likewise.
>     * gcc.target/arm/neon/vorns32.c: Likewise.
>     * gcc.target/arm/neon/vorns64.c: Likewise.
>     * gcc.target/arm/neon/vorns8.c: Likewise.
>     * gcc.target/arm/neon/vornu16.c: Likewise.
>     * gcc.target/arm/neon/vornu32.c: Likewise.
>     * gcc.target/arm/neon/vornu64.c: Likewise.
>     * gcc.target/arm/neon/vornu8.c: Likewise.
Christophe Lyon Oct. 30, 2014, 10:02 p.m. UTC | #2
On 29 October 2014 16:28, Ramana Radhakrishnan
<ramana.gcc@googlemail.com> wrote:
> On Wed, Oct 29, 2014 at 3:26 PM, Christophe Lyon
> <christophe.lyon@linaro.org> wrote:
>> Hi,
>>
>> In PR61153, the vbic and vorn tests fail because when compiled at -O0
>> the expected Neon instructions are not generated, making
>> scan-assembler fail.
>>
>> This patch:
>> - replaces -O0 by -O2
>> - moves the declaration of local variables used as intrinsics
>> parameters and results to global declarations, to prevent the compiler
>> from optimizing the whole test away.
>>
>> OK?
>>
>
> If you really want to do it , do it in neon-testgen.ml and do it for
> the whole lot.
>

I thought it wasn't used anymore.

At -O2 I have many more failures :-(

(vdup, vget_lane, vget_low, vmov, vset_lane)

And -O1 doesn't do the trick either...

Christophe.

> regards
> Ramana
>> Christophe.
>>
>> 2014-10-29  Christophe Lyon  <christophe.lyon@linaro.org>
>>
>>     PR target/61153
>>     * gcc.target/arm/neon/vbicQs16.c: Compile at O2 and move variables
>>     declarations from local to global.
>>     * gcc.target/arm/neon/vbicQs16.c: Likewise.
>>     * gcc.target/arm/neon/vbicQs32.c: Likewise.
>>     * gcc.target/arm/neon/vbicQs64.c: Likewise.
>>     * gcc.target/arm/neon/vbicQs8.c: Likewise.
>>     * gcc.target/arm/neon/vbicQu16.c: Likewise.
>>     * gcc.target/arm/neon/vbicQu32.c: Likewise.
>>     * gcc.target/arm/neon/vbicQu64.c: Likewise.
>>     * gcc.target/arm/neon/vbicQu8.c: Likewise.
>>     * gcc.target/arm/neon/vbics16.c: Likewise.
>>     * gcc.target/arm/neon/vbics32.c: Likewise.
>>     * gcc.target/arm/neon/vbics64.c: Likewise.
>>     * gcc.target/arm/neon/vbics8.c: Likewise.
>>     * gcc.target/arm/neon/vbicu16.c: Likewise.
>>     * gcc.target/arm/neon/vbicu32.c: Likewise.
>>     * gcc.target/arm/neon/vbicu64.c: Likewise.
>>     * gcc.target/arm/neon/vbicu8.c: Likewise.
>>     * gcc.target/arm/neon/vornQs16.c: Likewise.
>>     * gcc.target/arm/neon/vornQs32.c: Likewise.
>>     * gcc.target/arm/neon/vornQs64.c: Likewise.
>>     * gcc.target/arm/neon/vornQs8.c: Likewise.
>>     * gcc.target/arm/neon/vornQu16.c: Likewise.
>>     * gcc.target/arm/neon/vornQu32.c: Likewise.
>>     * gcc.target/arm/neon/vornQu64.c: Likewise.
>>     * gcc.target/arm/neon/vornQu8.c: Likewise.
>>     * gcc.target/arm/neon/vorns16.c: Likewise.
>>     * gcc.target/arm/neon/vorns32.c: Likewise.
>>     * gcc.target/arm/neon/vorns64.c: Likewise.
>>     * gcc.target/arm/neon/vorns8.c: Likewise.
>>     * gcc.target/arm/neon/vornu16.c: Likewise.
>>     * gcc.target/arm/neon/vornu32.c: Likewise.
>>     * gcc.target/arm/neon/vornu64.c: Likewise.
>>     * gcc.target/arm/neon/vornu8.c: Likewise.
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c
index e15a260..ccb81e4 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int16x8_t out_int16x8_t;
+int16x8_t arg0_int16x8_t;
+int16x8_t arg1_int16x8_t;
+
 void test_vbicQs16 (void)
 {
-  int16x8_t out_int16x8_t;
-  int16x8_t arg0_int16x8_t;
-  int16x8_t arg1_int16x8_t;
-
   out_int16x8_t = vbicq_s16 (arg0_int16x8_t, arg1_int16x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c
index f376bf0..64f2a43 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int32x4_t out_int32x4_t;
+int32x4_t arg0_int32x4_t;
+int32x4_t arg1_int32x4_t;
+
 void test_vbicQs32 (void)
 {
-  int32x4_t out_int32x4_t;
-  int32x4_t arg0_int32x4_t;
-  int32x4_t arg1_int32x4_t;
-
   out_int32x4_t = vbicq_s32 (arg0_int32x4_t, arg1_int32x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c
index 87049f1..7b5d05b 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int64x2_t out_int64x2_t;
+int64x2_t arg0_int64x2_t;
+int64x2_t arg1_int64x2_t;
+
 void test_vbicQs64 (void)
 {
-  int64x2_t out_int64x2_t;
-  int64x2_t arg0_int64x2_t;
-  int64x2_t arg1_int64x2_t;
-
   out_int64x2_t = vbicq_s64 (arg0_int64x2_t, arg1_int64x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c b/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c
index 4f64e88..89a882c 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQs8.c
@@ -8,12 +8,12 @@ 
 
 #include "arm_neon.h"
 
+int8x16_t out_int8x16_t;
+int8x16_t arg0_int8x16_t;
+int8x16_t arg1_int8x16_t;
+
 void test_vbicQs8 (void)
 {
-  int8x16_t out_int8x16_t;
-  int8x16_t arg0_int8x16_t;
-  int8x16_t arg1_int8x16_t;
-
   out_int8x16_t = vbicq_s8 (arg0_int8x16_t, arg1_int8x16_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c
index f92f9b3..51d14a0 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint16x8_t out_uint16x8_t;
+uint16x8_t arg0_uint16x8_t;
+uint16x8_t arg1_uint16x8_t;
+
 void test_vbicQu16 (void)
 {
-  uint16x8_t out_uint16x8_t;
-  uint16x8_t arg0_uint16x8_t;
-  uint16x8_t arg1_uint16x8_t;
-
   out_uint16x8_t = vbicq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c
index 06d10da..374b432 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint32x4_t out_uint32x4_t;
+uint32x4_t arg0_uint32x4_t;
+uint32x4_t arg1_uint32x4_t;
+
 void test_vbicQu32 (void)
 {
-  uint32x4_t out_uint32x4_t;
-  uint32x4_t arg0_uint32x4_t;
-  uint32x4_t arg1_uint32x4_t;
-
   out_uint32x4_t = vbicq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c
index 7cd63c0..f18a729 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint64x2_t out_uint64x2_t;
+uint64x2_t arg0_uint64x2_t;
+uint64x2_t arg1_uint64x2_t;
+
 void test_vbicQu64 (void)
 {
-  uint64x2_t out_uint64x2_t;
-  uint64x2_t arg0_uint64x2_t;
-  uint64x2_t arg1_uint64x2_t;
-
   out_uint64x2_t = vbicq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c b/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c
index 3f44418..94b51f4 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicQu8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint8x16_t out_uint8x16_t;
+uint8x16_t arg0_uint8x16_t;
+uint8x16_t arg1_uint8x16_t;
+
 void test_vbicQu8 (void)
 {
-  uint8x16_t out_uint8x16_t;
-  uint8x16_t arg0_uint8x16_t;
-  uint8x16_t arg1_uint8x16_t;
-
   out_uint8x16_t = vbicq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics16.c b/gcc/testsuite/gcc.target/arm/neon/vbics16.c
index 943e305..281c068 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbics16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbics16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int16x4_t out_int16x4_t;
+int16x4_t arg0_int16x4_t;
+int16x4_t arg1_int16x4_t;
+
 void test_vbics16 (void)
 {
-  int16x4_t out_int16x4_t;
-  int16x4_t arg0_int16x4_t;
-  int16x4_t arg1_int16x4_t;
-
   out_int16x4_t = vbic_s16 (arg0_int16x4_t, arg1_int16x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics32.c b/gcc/testsuite/gcc.target/arm/neon/vbics32.c
index 30df639..f574e64 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbics32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbics32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int32x2_t out_int32x2_t;
+int32x2_t arg0_int32x2_t;
+int32x2_t arg1_int32x2_t;
+
 void test_vbics32 (void)
 {
-  int32x2_t out_int32x2_t;
-  int32x2_t arg0_int32x2_t;
-  int32x2_t arg1_int32x2_t;
-
   out_int32x2_t = vbic_s32 (arg0_int32x2_t, arg1_int32x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics64.c b/gcc/testsuite/gcc.target/arm/neon/vbics64.c
index 379db45..9afce7a 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbics64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbics64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int64x1_t out_int64x1_t;
+int64x1_t arg0_int64x1_t;
+int64x1_t arg1_int64x1_t;
+
 void test_vbics64 (void)
 {
-  int64x1_t out_int64x1_t;
-  int64x1_t arg0_int64x1_t;
-  int64x1_t arg1_int64x1_t;
-
   out_int64x1_t = vbic_s64 (arg0_int64x1_t, arg1_int64x1_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbics8.c b/gcc/testsuite/gcc.target/arm/neon/vbics8.c
index 3b4bc8a..a3c4fb4 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbics8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbics8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int8x8_t out_int8x8_t;
+int8x8_t arg0_int8x8_t;
+int8x8_t arg1_int8x8_t;
+
 void test_vbics8 (void)
 {
-  int8x8_t out_int8x8_t;
-  int8x8_t arg0_int8x8_t;
-  int8x8_t arg1_int8x8_t;
-
   out_int8x8_t = vbic_s8 (arg0_int8x8_t, arg1_int8x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu16.c b/gcc/testsuite/gcc.target/arm/neon/vbicu16.c
index e9952bc..69652a9 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicu16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint16x4_t out_uint16x4_t;
+uint16x4_t arg0_uint16x4_t;
+uint16x4_t arg1_uint16x4_t;
+
 void test_vbicu16 (void)
 {
-  uint16x4_t out_uint16x4_t;
-  uint16x4_t arg0_uint16x4_t;
-  uint16x4_t arg1_uint16x4_t;
-
   out_uint16x4_t = vbic_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu32.c b/gcc/testsuite/gcc.target/arm/neon/vbicu32.c
index 9334f40..9ef5d6a 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicu32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint32x2_t out_uint32x2_t;
+uint32x2_t arg0_uint32x2_t;
+uint32x2_t arg1_uint32x2_t;
+
 void test_vbicu32 (void)
 {
-  uint32x2_t out_uint32x2_t;
-  uint32x2_t arg0_uint32x2_t;
-  uint32x2_t arg1_uint32x2_t;
-
   out_uint32x2_t = vbic_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu64.c b/gcc/testsuite/gcc.target/arm/neon/vbicu64.c
index c276d65..b4a149a 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicu64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicu64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint64x1_t out_uint64x1_t;
+uint64x1_t arg0_uint64x1_t;
+uint64x1_t arg1_uint64x1_t;
+
 void test_vbicu64 (void)
 {
-  uint64x1_t out_uint64x1_t;
-  uint64x1_t arg0_uint64x1_t;
-  uint64x1_t arg1_uint64x1_t;
-
   out_uint64x1_t = vbic_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vbicu8.c b/gcc/testsuite/gcc.target/arm/neon/vbicu8.c
index 5e42c52..f4c060a 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vbicu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vbicu8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint8x8_t out_uint8x8_t;
+uint8x8_t arg0_uint8x8_t;
+uint8x8_t arg1_uint8x8_t;
+
 void test_vbicu8 (void)
 {
-  uint8x8_t out_uint8x8_t;
-  uint8x8_t arg0_uint8x8_t;
-  uint8x8_t arg1_uint8x8_t;
-
   out_uint8x8_t = vbic_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs16.c b/gcc/testsuite/gcc.target/arm/neon/vornQs16.c
index 519da3c..257a8bc 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQs16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQs16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int16x8_t out_int16x8_t;
+int16x8_t arg0_int16x8_t;
+int16x8_t arg1_int16x8_t;
+
 void test_vornQs16 (void)
 {
-  int16x8_t out_int16x8_t;
-  int16x8_t arg0_int16x8_t;
-  int16x8_t arg1_int16x8_t;
-
   out_int16x8_t = vornq_s16 (arg0_int16x8_t, arg1_int16x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs32.c b/gcc/testsuite/gcc.target/arm/neon/vornQs32.c
index cec6599..c4313a7 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQs32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQs32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int32x4_t out_int32x4_t;
+int32x4_t arg0_int32x4_t;
+int32x4_t arg1_int32x4_t;
+
 void test_vornQs32 (void)
 {
-  int32x4_t out_int32x4_t;
-  int32x4_t arg0_int32x4_t;
-  int32x4_t arg1_int32x4_t;
-
   out_int32x4_t = vornq_s32 (arg0_int32x4_t, arg1_int32x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs64.c b/gcc/testsuite/gcc.target/arm/neon/vornQs64.c
index 05166ba..286dc1c 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQs64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQs64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int64x2_t out_int64x2_t;
+int64x2_t arg0_int64x2_t;
+int64x2_t arg1_int64x2_t;
+
 void test_vornQs64 (void)
 {
-  int64x2_t out_int64x2_t;
-  int64x2_t arg0_int64x2_t;
-  int64x2_t arg1_int64x2_t;
-
   out_int64x2_t = vornq_s64 (arg0_int64x2_t, arg1_int64x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQs8.c b/gcc/testsuite/gcc.target/arm/neon/vornQs8.c
index 99982ae..8df5057 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQs8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQs8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int8x16_t out_int8x16_t;
+int8x16_t arg0_int8x16_t;
+int8x16_t arg1_int8x16_t;
+
 void test_vornQs8 (void)
 {
-  int8x16_t out_int8x16_t;
-  int8x16_t arg0_int8x16_t;
-  int8x16_t arg1_int8x16_t;
-
   out_int8x16_t = vornq_s8 (arg0_int8x16_t, arg1_int8x16_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu16.c b/gcc/testsuite/gcc.target/arm/neon/vornQu16.c
index 761e72d..703c801 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQu16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint16x8_t out_uint16x8_t;
+uint16x8_t arg0_uint16x8_t;
+uint16x8_t arg1_uint16x8_t;
+
 void test_vornQu16 (void)
 {
-  uint16x8_t out_uint16x8_t;
-  uint16x8_t arg0_uint16x8_t;
-  uint16x8_t arg1_uint16x8_t;
-
   out_uint16x8_t = vornq_u16 (arg0_uint16x8_t, arg1_uint16x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu32.c b/gcc/testsuite/gcc.target/arm/neon/vornQu32.c
index 18a9685..625a0cb 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQu32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint32x4_t out_uint32x4_t;
+uint32x4_t arg0_uint32x4_t;
+uint32x4_t arg1_uint32x4_t;
+
 void test_vornQu32 (void)
 {
-  uint32x4_t out_uint32x4_t;
-  uint32x4_t arg0_uint32x4_t;
-  uint32x4_t arg1_uint32x4_t;
-
   out_uint32x4_t = vornq_u32 (arg0_uint32x4_t, arg1_uint32x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu64.c b/gcc/testsuite/gcc.target/arm/neon/vornQu64.c
index 84c9f89..03c306d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQu64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQu64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint64x2_t out_uint64x2_t;
+uint64x2_t arg0_uint64x2_t;
+uint64x2_t arg1_uint64x2_t;
+
 void test_vornQu64 (void)
 {
-  uint64x2_t out_uint64x2_t;
-  uint64x2_t arg0_uint64x2_t;
-  uint64x2_t arg1_uint64x2_t;
-
   out_uint64x2_t = vornq_u64 (arg0_uint64x2_t, arg1_uint64x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornQu8.c b/gcc/testsuite/gcc.target/arm/neon/vornQu8.c
index ffe6766..6a3b711 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornQu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornQu8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint8x16_t out_uint8x16_t;
+uint8x16_t arg0_uint8x16_t;
+uint8x16_t arg1_uint8x16_t;
+
 void test_vornQu8 (void)
 {
-  uint8x16_t out_uint8x16_t;
-  uint8x16_t arg0_uint8x16_t;
-  uint8x16_t arg1_uint8x16_t;
-
   out_uint8x16_t = vornq_u8 (arg0_uint8x16_t, arg1_uint8x16_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns16.c b/gcc/testsuite/gcc.target/arm/neon/vorns16.c
index b860142..87ea6aa 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vorns16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vorns16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int16x4_t out_int16x4_t;
+int16x4_t arg0_int16x4_t;
+int16x4_t arg1_int16x4_t;
+
 void test_vorns16 (void)
 {
-  int16x4_t out_int16x4_t;
-  int16x4_t arg0_int16x4_t;
-  int16x4_t arg1_int16x4_t;
-
   out_int16x4_t = vorn_s16 (arg0_int16x4_t, arg1_int16x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns32.c b/gcc/testsuite/gcc.target/arm/neon/vorns32.c
index 826e0d2..2f63da4 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vorns32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vorns32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int32x2_t out_int32x2_t;
+int32x2_t arg0_int32x2_t;
+int32x2_t arg1_int32x2_t;
+
 void test_vorns32 (void)
 {
-  int32x2_t out_int32x2_t;
-  int32x2_t arg0_int32x2_t;
-  int32x2_t arg1_int32x2_t;
-
   out_int32x2_t = vorn_s32 (arg0_int32x2_t, arg1_int32x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns64.c b/gcc/testsuite/gcc.target/arm/neon/vorns64.c
index d7b8e60..38deda0 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vorns64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vorns64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int64x1_t out_int64x1_t;
+int64x1_t arg0_int64x1_t;
+int64x1_t arg1_int64x1_t;
+
 void test_vorns64 (void)
 {
-  int64x1_t out_int64x1_t;
-  int64x1_t arg0_int64x1_t;
-  int64x1_t arg1_int64x1_t;
-
   out_int64x1_t = vorn_s64 (arg0_int64x1_t, arg1_int64x1_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vorns8.c b/gcc/testsuite/gcc.target/arm/neon/vorns8.c
index c71a6bb..0ae714d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vorns8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vorns8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+int8x8_t out_int8x8_t;
+int8x8_t arg0_int8x8_t;
+int8x8_t arg1_int8x8_t;
+
 void test_vorns8 (void)
 {
-  int8x8_t out_int8x8_t;
-  int8x8_t arg0_int8x8_t;
-  int8x8_t arg1_int8x8_t;
-
   out_int8x8_t = vorn_s8 (arg0_int8x8_t, arg1_int8x8_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu16.c b/gcc/testsuite/gcc.target/arm/neon/vornu16.c
index d4983ee..6815e4d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornu16.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornu16.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint16x4_t out_uint16x4_t;
+uint16x4_t arg0_uint16x4_t;
+uint16x4_t arg1_uint16x4_t;
+
 void test_vornu16 (void)
 {
-  uint16x4_t out_uint16x4_t;
-  uint16x4_t arg0_uint16x4_t;
-  uint16x4_t arg1_uint16x4_t;
-
   out_uint16x4_t = vorn_u16 (arg0_uint16x4_t, arg1_uint16x4_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu32.c b/gcc/testsuite/gcc.target/arm/neon/vornu32.c
index aba6884..c5e0f4b 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornu32.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornu32.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint32x2_t out_uint32x2_t;
+uint32x2_t arg0_uint32x2_t;
+uint32x2_t arg1_uint32x2_t;
+
 void test_vornu32 (void)
 {
-  uint32x2_t out_uint32x2_t;
-  uint32x2_t arg0_uint32x2_t;
-  uint32x2_t arg1_uint32x2_t;
-
   out_uint32x2_t = vorn_u32 (arg0_uint32x2_t, arg1_uint32x2_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu64.c b/gcc/testsuite/gcc.target/arm/neon/vornu64.c
index 6fb3a95..db5e63d 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornu64.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornu64.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint64x1_t out_uint64x1_t;
+uint64x1_t arg0_uint64x1_t;
+uint64x1_t arg1_uint64x1_t;
+
 void test_vornu64 (void)
 {
-  uint64x1_t out_uint64x1_t;
-  uint64x1_t arg0_uint64x1_t;
-  uint64x1_t arg1_uint64x1_t;
-
   out_uint64x1_t = vorn_u64 (arg0_uint64x1_t, arg1_uint64x1_t);
 }
 
diff --git a/gcc/testsuite/gcc.target/arm/neon/vornu8.c b/gcc/testsuite/gcc.target/arm/neon/vornu8.c
index 6fdb733..8bd8701 100644
--- a/gcc/testsuite/gcc.target/arm/neon/vornu8.c
+++ b/gcc/testsuite/gcc.target/arm/neon/vornu8.c
@@ -3,17 +3,17 @@ 
 
 /* { dg-do assemble } */
 /* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
+/* { dg-options "-save-temps -O2" } */
 /* { dg-add-options arm_neon } */
 
 #include "arm_neon.h"
 
+uint8x8_t out_uint8x8_t;
+uint8x8_t arg0_uint8x8_t;
+uint8x8_t arg1_uint8x8_t;
+
 void test_vornu8 (void)
 {
-  uint8x8_t out_uint8x8_t;
-  uint8x8_t arg0_uint8x8_t;
-  uint8x8_t arg1_uint8x8_t;
-
   out_uint8x8_t = vorn_u8 (arg0_uint8x8_t, arg1_uint8x8_t);
 }