[PATCH 4/4] NetWare: AVX-specific testsuite adjustments
Jan Beulich
JBeulich@novell.com
Thu Jul 23 15:19:00 GMT 2009
For targets defaulting to packed structures, the packed attribute on
the two ieee754 unions defined in m128-check.h result in unexpected
compiler warnings in many SSE and AVX tests. Very few of them actually
need these unions, so rather than fixing a few hundred test cases,
simply hide these declarations when not needed.
Jan
2009-07-23 Jan Beulich <jbeulich@novell.com>
* gcc.target/i386/avx-vtestpd-1.c: Add -DNEED_IEEE754_DOUBLE.
* gcc.target/i386/avx-vtestpd-2.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-1.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-2.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-3.c: Likewise.
* gcc.target/i386/avx-vtestpd-3.c: Likewise.
* gcc.target/i386/avx-vtestps-1.c: Add -DNEED_IEEE754_FLOAT.
* gcc.target/i386/avx-vtestps-2.c: Likewise.
* gcc.target/i386/avx-vtestps-256-1.c: Likewise.
* gcc.target/i386/avx-vtestps-256-2.c: Likewise.
* gcc.target/i386/avx-vtestps-256-3.c: Likewise.
* gcc.target/i386/avx-vtestps-3.c: Likewise.
* gcc.target/i386/m128-check.h (union ieee754_float): Put into
#ifdef NEED_IEEE754_FLOAT conditional.
(union ieee754_double): Put into #ifdef NEED_IEEE754_DOUBLE
conditional.
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-1.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-2.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-2.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-1.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-1.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-2.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-2.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-3.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-256-3.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-3.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestpd-3.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_DOUBLE" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 164 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-1.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-1.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-2.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-2.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-1.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-1.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-2.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-2.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-3.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-256-3.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-3.c
+++ trunk/gcc/testsuite/gcc.target/i386/avx-vtestps-3.c
@@ -1,6 +1,8 @@
/* { dg-do run } */
/* { dg-require-effective-target avx } */
-/* { dg-options "-O2 -mavx" } */
+/* { dg-options "-O2 -mavx -DNEED_IEEE754_FLOAT" } */
+/* { dg-warning "attribute ignored" "" { target default_packed } 150 } */
+/* { dg-message " from " "include chain" { target default_packed } 0 } */
#include "avx-check.h"
--- trunk/gcc/testsuite/gcc.target/i386/m128-check.h
+++ trunk/gcc/testsuite/gcc.target/i386/m128-check.h
@@ -138,6 +138,7 @@ checkV##ARRAY (const TYPE *v, const TYPE
CHECK_FP_ARRAY (d, double, ESP_DOUBLE, "%f")
CHECK_FP_ARRAY (f, float, ESP_FLOAT, "%f")
+#ifdef NEED_IEEE754_FLOAT
union ieee754_float
{
float d;
@@ -148,7 +149,9 @@ union ieee754_float
unsigned sign : 1;
} bits __attribute__((packed));
};
+#endif
+#ifdef NEED_IEEE754_DOUBLE
union ieee754_double
{
double d;
@@ -160,3 +163,4 @@ union ieee754_double
unsigned sign : 1;
} bits __attribute__((packed));
};
+#endif
More information about the Gcc-patches
mailing list