[PATCH, testsuite]: Also check 3dnow and 3dnowA intrinsics in sse-13.c and sse-14.c
Uros Bizjak
ubizjak@gmail.com
Sat Oct 27 16:45:00 GMT 2007
Hello!
This patch adds check of 3dnow and 3dnowA intrinsics into sse-13.c and
sse-14.c. Also, missing check of sse5 intrinsics was added to
g++.dg/other/i386-2.c.
Patch was checked on x86_64-pc-linux-gnu with and without -m32. Patch is
committed to SVN.
2007-10-27 Uros Bizjak <ubizjak@gmail.com>
* g++.dg/other/i386-2.C: Include bmmintrin.h. Add -msse5 to
dg-options.
* gcc.target/i386/sse-13.c: Also include mm3dnow.h. Add "-march=k8
-m3dnow" to check 3dnow and 3dnowA intrinsics.
* gcc.target/i386/sse-14.c: Ditto.
Uros.
Index: gcc.target/i386/sse-14.c
===================================================================
--- gcc.target/i386/sse-14.c (revision 129676)
+++ gcc.target/i386/sse-14.c (working copy)
@@ -1,13 +1,14 @@
/* { dg-do compile } */
-/* { dg-options "-O0 -msse4.1 -msse5" } */
+/* { dg-options "-O0 -march=k8 -m3dnow -msse4.1 -msse5" } */
/* Test that the intrinsics compile without optimization. All of them are
- defined as inline functions in {,x,e,p,t,s,a}mmintrin.h that reference
- the proper builtin functions. Defining away "static" and "__inline"
- results in all of them being compiled as proper functions. */
+ defined as inline functions in {,x,e,p,t,s,a,b}mmintrin.h and mm3dnow.h
+ that reference the proper builtin functions. Defining away "static" and
+ "__inline" results in all of them being compiled as proper
functions. */
#define static
#define __inline
#include <bmmintrin.h>
#include <smmintrin.h>
+#include <mm3dnow.h>
Index: gcc.target/i386/defines-2.c
===================================================================
--- gcc.target/i386/defines-2.c (revision 129676)
+++ gcc.target/i386/defines-2.c (working copy)
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-march=athlon64 -mno-mmx" } */
+/* { dg-options "-march=k8 -mno-mmx" } */
#if defined(__MMX__) || defined(__3dNOW__) || defined(__3dNOW_A__)
#error
Index: gcc.target/i386/sse-13.c
===================================================================
--- gcc.target/i386/sse-13.c (revision 129676)
+++ gcc.target/i386/sse-13.c (working copy)
@@ -1,10 +1,10 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -msse4.1 -msse5 " } */
+/* { dg-options "-O2 -march=k8 -m3dnow -msse4.1 -msse5 " } */
/* Test that the intrinsics compile with optimization. All of them are
- defined as inline functions in {,x,e,p,t,s,a,b}mmintrin.h that reference
- the proper builtin functions. Defining away "static" and "__inline"
- results in all of them being compiled as proper functions. */
+ defined as inline functions in {,x,e,p,t,s,a,b}mmintrin.h and mm3dnow.h
+ that reference the proper builtin functions. Defining away "static" and
+ "__inline" results in all of them being compiled as proper
functions. */
#define static
#define __inline
@@ -66,3 +66,4 @@
#include <bmmintrin.h>
#include <smmintrin.h>
+#include <mm3dnow.h>
Index: g++.dg/other/i386-2.C
===================================================================
--- g++.dg/other/i386-2.C (revision 129676)
+++ g++.dg/other/i386-2.C (working copy)
@@ -1,9 +1,9 @@
-/* Test that {,x,e,p,t,s,a}mmintrin.h, mm3dnow.h and mm_malloc.h are
+/* Test that {,x,e,p,t,s,a,b}mmintrin.h, mm3dnow.h and mm_malloc.h are
usable with -O -pedantic-errors. */
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O -pedantic-errors -march=k8 -m3dnow -msse4.1
-msse4a" } */
+/* { dg-options "-O -pedantic-errors -march=k8 -m3dnow -msse4.1 -msse5"
} */
-#include <ammintrin.h>
+#include <bmmintrin.h>
#include <smmintrin.h>
#include <mm3dnow.h>
More information about the Gcc-patches
mailing list