From patchwork Thu Nov 11 08:25:54 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [testsuite] : Enable some more x86 intrinsics tests Date: Wed, 10 Nov 2010 22:25:54 -0000 From: Uros Bizjak X-Patchwork-Id: 70784 Message-Id: To: gcc-patches@gcc.gnu.org Hello! 2010-11-11 Uros Bizjak * gcc-target/i386/sse-12.c: Add -msse4a to dg-options. * gcc-target/i386/sse-13.c: Add -msse4a, -mfma4, -mbmi and -mtbm to dg-options. * gcc-target/i386/sse-14.c: Add -mfma4a and -mbmi to dg-options. * g++.dg/other/i386-2.C: Add -msse4a and -mfma4 to dg-options. * g++.dg/other/i386-3.C: Ditto. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN. Uros. Index: gcc.target/i386/sse-12.c =================================================================== --- gcc.target/i386/sse-12.c (revision 166594) +++ gcc.target/i386/sse-12.c (working copy) @@ -1,9 +1,9 @@ -/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, xopintrin.h, mm3dnow.h, - fma4intrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h, +/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h, + xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h, popcntintrin.h and mm_malloc.h are usable with -O -std=c89 -pedantic-errors. */ /* { dg-do compile } */ -/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ +/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ #include Index: gcc.target/i386/sse-14.c =================================================================== --- gcc.target/i386/sse-14.c (revision 166594) +++ gcc.target/i386/sse-14.c (working copy) @@ -1,11 +1,13 @@ /* { dg-do compile } */ -/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow -mavx -mxop -msse4a -maes -mpclmul -mpopcnt -mabm -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ #include /* Test that the intrinsics compile without optimization. All of them are - defined as inline functions in {,x,e,p,t,s,w,a}mmintrin.h, xopintrin.h, - lwpintrin.h and mm3dnow.h that reference the proper builtin functions. + defined as inline functions in {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, + fma4intrin.h, xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, + lwpintrin.h and mm_malloc.h that reference the proper builtin functions. + Defining away "extern" and "__inline" results in all of them being compiled as proper functions. */ Index: gcc.target/i386/sse-13.c =================================================================== --- gcc.target/i386/sse-13.c (revision 166594) +++ gcc.target/i386/sse-13.c (working copy) @@ -1,15 +1,17 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow -mavx -mxop -maes -mpclmul -mpopcnt -mabm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ #include /* Test that the intrinsics compile with optimization. All of them are defined as inline functions in {,x,e,p,t,s,w,a,b,i}mmintrin.h, - xopintrin.h, abmintrin.h, tbmintrin.h, lwpintrin.h, popcntintrin.h - and mm3dnow.h that reference the proper builtin functions. Defining - away "extern" and "__inline" results in all of them being compiled as - proper functions. */ + mm3dnow.h, fma4intrin.h, xopintrin.h, abmintrin.h, bmiintrin.h, + tbmintrin.h, lwpintrin.h, popcntintrin.h and mm_malloc.h that + reference the proper builtin functions. + Defining away "extern" and "__inline" results in all of them being + compiled as proper functions. */ + #define extern #define __inline Index: g++.dg/other/i386-2.C =================================================================== --- g++.dg/other/i386-2.C (revision 166594) +++ g++.dg/other/i386-2.C (working copy) @@ -1,9 +1,9 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O -pedantic-errors -march=k8 -m3dnow -mavx -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ +/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ -/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, xopintrin.h, abmintrin.h, - bmiintrin.h, tbmintrin.h, lwpintrin.h, popcntintrin.h and mm3dnow.h - are usable with -O -pedantic-errors. */ +/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h, + xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h, + popcntintrin.h and mm_malloc.h.h are usable with -O -pedantic-errors. */ #include Index: g++.dg/other/i386-3.C =================================================================== --- g++.dg/other/i386-3.C (revision 166594) +++ g++.dg/other/i386-3.C (working copy) @@ -1,8 +1,9 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O -fkeep-inline-functions -march=k8 -m3dnow -mavx -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ +/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mbmi -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c" } */ -/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, xopintrin.h, abmintrin.h, - bmiintrin.h, tbmintrin.h, lwpintrin.h, popcntintrin.h and mm3dnow.h - are usable with -O -fkeep-inline-functions. */ +/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h, + xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h, + popcntintrin.h and mm_malloc.h are usable with + -O -fkeep-inline-functions. */ #include