+2009-07-28 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.
+
2009-07-28 Jan Beulich <jbeulich@novell.com>
* g++.dg/ext/bitfield2.C: Add -mno-ms-bitfields for
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
/* { 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"
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;
unsigned sign : 1;
} bits __attribute__((packed));
};
+#endif
+#ifdef NEED_IEEE754_DOUBLE
union ieee754_double
{
double d;
unsigned sign : 1;
} bits __attribute__((packed));
};
+#endif