This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, testsuite]: Also check 3dnow and 3dnowA intrinsics in sse-13.c and sse-14.c


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>



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]