[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