From 40f1bdd962209529dff65187a9407656577b31b1 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 19 May 2010 16:10:05 +0000 Subject: [PATCH] sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2. gcc: * doc/sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2. (Directives): Document optional dg-require-effective-target selector. gcc/testsuite: * lib/target-supports.exp (check_effective_target_sse2): New proc. * lib/target-supports-dg.exp (dg-require-effective-target): Allow for optional selector. * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. (check_effective_target_sse3): New proc. * gcc.target/i386/math-torture/math-torture.exp: Load target-supports.exp. Only add options with -msse2 to MATH_TORTURE_OPTIONS if check_effective_target_sse2. * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. * g++.dg/vect/vect.exp: Likewise. * gfortran.dg/vect/vect.exp: Likewise. * lib/fortran-torture.exp (get-fortran-torture-options): Only use -msse2 if check_effective_target_sse2. * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. * gcc.target/i386/3dnow-2.c: Likewise. * gcc.target/i386/3dnowA-1.c: Likewise. * gcc.target/i386/3dnowA-2.c: Likewise. * gcc.target/i386/pr42549.c: Likewise. * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. * gcc.target/i386/sse3-addsubps.c: Likewise. * gcc.target/i386/sse3-haddpd.c: Likewise. * gcc.target/i386/sse3-haddps.c: Likewise. * gcc.target/i386/sse3-hsubpd.c: Likewise. * gcc.target/i386/sse3-hsubps.c: Likewise. * gcc.target/i386/sse3-lddqu.c: Likewise. * gcc.target/i386/sse3-movddup.c: Likewise. * gcc.target/i386/sse3-movshdup.c: Likewise. * gcc.target/i386/sse3-movsldup.c: Likewise. * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. * g++.dg/ext/attrib35.C: Likewise. * g++.dg/opt/pr40496.C: Likewise. * g++.dg/other/i386-1.C: Likewise. * g++.dg/other/i386-4.C: Likewise. * g++.dg/other/pr34435.C: Likewise. * g++.dg/other/pr39496.C: Likewise. * g++.dg/other/pr40446.C: Likewise. * gcc.dg/compat/union-m128-1_main.c: Likewise. * gcc.dg/compat/vector-1a_main.c: Likewise. * gcc.dg/compat/vector-2a_main.c: Likewise. * gcc.dg/lto/20090206-1_0.c: Likewise. * gcc.dg/pr34856.c: Likewise. * gcc.dg/pr36584.c: Likewise. * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. * gcc.dg/pr37544.c: Likewise. * gcc.dg/torture/pr16104-1.c: Likewise. * gcc.dg/torture/pr35771-1.c: Likewise. * gcc.dg/torture/pr35771-2.c: Likewise. * gcc.dg/torture/pr35771-3.c: Likewise. * gcc.dg/torture/stackalign/alloca-2.c: Likewise. * gcc.dg/torture/stackalign/alloca-3.c: Likewise. * gcc.dg/torture/stackalign/push-1.c: Likewise. * gcc.dg/torture/stackalign/vararg-3.c: Likewise. * gcc.dg/tree-ssa/prefetch-6.c: Likewise. * gcc.dg/tree-ssa/prefetch-7.c: Likewise. * gcc.dg/vect/vect-debug-pr41926.c: Likewise. * gcc.target/i386/20060512-1.c: Likewise. * gcc.target/i386/20060512-3.c: Likewise. * gcc.target/i386/all_one_m128i.c: Likewise. * gcc.target/i386/float128-1.c: Likewise. * gcc.target/i386/float128-2.c: Likewise. * gcc.target/i386/fpcvt-1.c: Likewise. * gcc.target/i386/fpcvt-2.c: Likewise. * gcc.target/i386/fpcvt-3.c: Likewise. * gcc.target/i386/fpprec-1.c: Likewise. * gcc.target/i386/funcspec-9.c: Likewise. * gcc.target/i386/incoming-1.c: Likewise. * gcc.target/i386/incoming-12.c: Likewise. * gcc.target/i386/incoming-2.c: Likewise. * gcc.target/i386/incoming-3.c: Likewise. * gcc.target/i386/incoming-4.c: Likewise. * gcc.target/i386/incoming-6.c: Likewise. * gcc.target/i386/incoming-7.c: Likewise. * gcc.target/i386/incoming-8.c: Likewise. * gcc.target/i386/opt-1.c: Likewise. * gcc.target/i386/opt-2.c: Likewise. * gcc.target/i386/ordcmp-1.c: Likewise. * gcc.target/i386/pr17692.c: Likewise. * gcc.target/i386/pr18614-1.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/pr23570.c: Likewise. * gcc.target/i386/pr23575.c: Likewise. * gcc.target/i386/pr26449-1.c: Likewise. * gcc.target/i386/pr26600.c: Likewise. * gcc.target/i386/pr27790.c: Likewise. * gcc.target/i386/pr28839.c: Likewise. * gcc.target/i386/pr30970.c: Likewise. * gcc.target/i386/pr32000-1.c: Likewise. * gcc.target/i386/pr32000-2.c: Likewise. * gcc.target/i386/pr32280.c: Likewise. * gcc.target/i386/pr32661.c: Likewise. * gcc.target/i386/pr32708-1.c: Likewise. * gcc.target/i386/pr32961.c: Likewise. * gcc.target/i386/pr33329.c: Likewise. * gcc.target/i386/pr35714.c: Likewise. * gcc.target/i386/pr35767-1.c: Likewise. * gcc.target/i386/pr35767-1d.c: Likewise. * gcc.target/i386/pr35767-1i.c: Likewise. * gcc.target/i386/pr35767-2.c: Likewise. * gcc.target/i386/pr35767-2d.c: Likewise. * gcc.target/i386/pr35767-2i.c: Likewise. * gcc.target/i386/pr35767-3.c: Likewise. * gcc.target/i386/pr35767-5.c: Likewise. * gcc.target/i386/pr36222-1.c: Likewise. * gcc.target/i386/pr36578-1.c: Likewise. * gcc.target/i386/pr36578-2.c: Likewise. * gcc.target/i386/pr36992-1.c: Likewise. * gcc.target/i386/pr37101.c: Likewise. * gcc.target/i386/pr37216.c: Likewise. * gcc.target/i386/pr37434-1.c: Likewise. * gcc.target/i386/pr37434-2.c: Likewise. * gcc.target/i386/pr37843-3.c: Likewise. * gcc.target/i386/pr37843-4.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr39315-1.c: Likewise. * gcc.target/i386/pr39315-2.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr39315-4.c: Likewise. * gcc.target/i386/pr39445.c: Likewise. * gcc.target/i386/pr39496.c: Likewise. * gcc.target/i386/pr40809.c: Likewise. * gcc.target/i386/pr40906-3.c: Likewise. * gcc.target/i386/pr41019.c: Likewise. * gcc.target/i386/pr42542-1.c: Likewise. * gcc.target/i386/pr42542-2.c: Likewise. * gcc.target/i386/pr42542-3.c: Likewise. * gcc.target/i386/pr42542-3a.c: Likewise. * gcc.target/i386/pr42881.c: Likewise. * gcc.target/i386/push-1.c: Likewise. * gcc.target/i386/quad-sse.c: Likewise. * gcc.target/i386/reload-1.c: Likewise. * gcc.target/i386/sse-10.c: Likewise. * gcc.target/i386/sse-11.c: Likewise. * gcc.target/i386/sse-15.c: Likewise. * gcc.target/i386/sse-17.c: Likewise. * gcc.target/i386/sse-18.c: Likewise. * gcc.target/i386/sse-19.c: Likewise. * gcc.target/i386/sse-4.c: Likewise. * gcc.target/i386/sse-6.c: Likewise. * gcc.target/i386/sse-vect-types.c: Likewise. * gcc.target/i386/sse2-addpd-1.c: Likewise. * gcc.target/i386/sse2-addsd-1.c: Likewise. * gcc.target/i386/sse2-andnpd-1.c: Likewise. * gcc.target/i386/sse2-andpd-1.c: Likewise. * gcc.target/i386/sse2-cmpsd-1.c: Likewise. * gcc.target/i386/sse2-comisd-1.c: Likewise. * gcc.target/i386/sse2-comisd-2.c: Likewise. * gcc.target/i386/sse2-comisd-3.c: Likewise. * gcc.target/i386/sse2-comisd-4.c: Likewise. * gcc.target/i386/sse2-comisd-5.c: Likewise. * gcc.target/i386/sse2-comisd-6.c: Likewise. * gcc.target/i386/sse2-copysign-vec.c: Likewise. * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. * gcc.target/i386/sse2-divpd-1.c: Likewise. * gcc.target/i386/sse2-divsd-1.c: Likewise. * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. * gcc.target/i386/sse2-init-v2di-1.c: Likewise. * gcc.target/i386/sse2-init-v4si-1.c: Likewise. * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. * gcc.target/i386/sse2-lrint-vec.c: Likewise. * gcc.target/i386/sse2-lrintf-vec.c: Likewise. * gcc.target/i386/sse2-maxpd-1.c: Likewise. * gcc.target/i386/sse2-maxsd-1.c: Likewise. * gcc.target/i386/sse2-minpd-1.c: Likewise. * gcc.target/i386/sse2-minsd-1.c: Likewise. * gcc.target/i386/sse2-mmx.c: Likewise. * gcc.target/i386/sse2-movapd-1.c: Likewise. * gcc.target/i386/sse2-movapd-2.c: Likewise. * gcc.target/i386/sse2-movd-1.c: Likewise. * gcc.target/i386/sse2-movd-2.c: Likewise. * gcc.target/i386/sse2-movdqa-1.c: Likewise. * gcc.target/i386/sse2-movdqa-2.c: Likewise. * gcc.target/i386/sse2-movdqu-1.c: Likewise. * gcc.target/i386/sse2-movdqu-2.c: Likewise. * gcc.target/i386/sse2-movhpd-1.c: Likewise. * gcc.target/i386/sse2-movhpd-2.c: Likewise. * gcc.target/i386/sse2-movlpd-1.c: Likewise. * gcc.target/i386/sse2-movlpd-2.c: Likewise. * gcc.target/i386/sse2-movmskpd-1.c: Likewise. * gcc.target/i386/sse2-movntdq-1.c: Likewise. * gcc.target/i386/sse2-movntpd-1.c: Likewise. * gcc.target/i386/sse2-movq-1.c: Likewise. * gcc.target/i386/sse2-movq-2.c: Likewise. * gcc.target/i386/sse2-movq-3.c: Likewise. * gcc.target/i386/sse2-movsd-1.c: Likewise. * gcc.target/i386/sse2-movsd-2.c: Likewise. * gcc.target/i386/sse2-movupd-1.c: Likewise. * gcc.target/i386/sse2-movupd-2.c: Likewise. * gcc.target/i386/sse2-mulpd-1.c: Likewise. * gcc.target/i386/sse2-mulsd-1.c: Likewise. * gcc.target/i386/sse2-orpd-1.c: Likewise. * gcc.target/i386/sse2-packssdw-1.c: Likewise. * gcc.target/i386/sse2-packsswb-1.c: Likewise. * gcc.target/i386/sse2-packuswb-1.c: Likewise. * gcc.target/i386/sse2-paddb-1.c: Likewise. * gcc.target/i386/sse2-paddd-1.c: Likewise. * gcc.target/i386/sse2-paddq-1.c: Likewise. * gcc.target/i386/sse2-paddsb-1.c: Likewise. * gcc.target/i386/sse2-paddsw-1.c: Likewise. * gcc.target/i386/sse2-paddusb-1.c: Likewise. * gcc.target/i386/sse2-paddusw-1.c: Likewise. * gcc.target/i386/sse2-paddw-1.c: Likewise. * gcc.target/i386/sse2-pand-1.c: Likewise. * gcc.target/i386/sse2-pandn-1.c: Likewise. * gcc.target/i386/sse2-pavgb-1.c: Likewise. * gcc.target/i386/sse2-pavgw-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. * gcc.target/i386/sse2-pmaxub-1.c: Likewise. * gcc.target/i386/sse2-pminsw-1.c: Likewise. * gcc.target/i386/sse2-pminub-1.c: Likewise. * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. * gcc.target/i386/sse2-pmulhw-1.c: Likewise. * gcc.target/i386/sse2-pmullw-1.c: Likewise. * gcc.target/i386/sse2-pmuludq-1.c: Likewise. * gcc.target/i386/sse2-por-1.c: Likewise. * gcc.target/i386/sse2-psadbw-1.c: Likewise. * gcc.target/i386/sse2-pshufd-1.c: Likewise. * gcc.target/i386/sse2-pshufhw-1.c: Likewise. * gcc.target/i386/sse2-pshuflw-1.c: Likewise. * gcc.target/i386/sse2-pslld-1.c: Likewise. * gcc.target/i386/sse2-pslld-2.c: Likewise. * gcc.target/i386/sse2-pslldq-1.c: Likewise. * gcc.target/i386/sse2-psllq-1.c: Likewise. * gcc.target/i386/sse2-psllq-2.c: Likewise. * gcc.target/i386/sse2-psllw-1.c: Likewise. * gcc.target/i386/sse2-psllw-2.c: Likewise. * gcc.target/i386/sse2-psrad-1.c: Likewise. * gcc.target/i386/sse2-psrad-2.c: Likewise. * gcc.target/i386/sse2-psraw-1.c: Likewise. * gcc.target/i386/sse2-psraw-2.c: Likewise. * gcc.target/i386/sse2-psrld-1.c: Likewise. * gcc.target/i386/sse2-psrld-2.c: Likewise. * gcc.target/i386/sse2-psrldq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-2.c: Likewise. * gcc.target/i386/sse2-psrlw-1.c: Likewise. * gcc.target/i386/sse2-psrlw-2.c: Likewise. * gcc.target/i386/sse2-psubb-1.c: Likewise. * gcc.target/i386/sse2-psubd-1.c: Likewise. * gcc.target/i386/sse2-psubq-1.c: Likewise. * gcc.target/i386/sse2-psubsb-1.c: Likewise. * gcc.target/i386/sse2-psubsw-1.c: Likewise. * gcc.target/i386/sse2-psubw-1.c: Likewise. * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. * gcc.target/i386/sse2-punpckldq-1.c: Likewise. * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. * gcc.target/i386/sse2-pxor-1.c: Likewise. * gcc.target/i386/sse2-set-epi32-1.c: Likewise. * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. * gcc.target/i386/sse2-shufpd-1.c: Likewise. * gcc.target/i386/sse2-shufps-1.c: Likewise. * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. * gcc.target/i386/sse2-subpd-1.c: Likewise. * gcc.target/i386/sse2-subsd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-2.c: Likewise. * gcc.target/i386/sse2-ucomisd-3.c: Likewise. * gcc.target/i386/sse2-ucomisd-4.c: Likewise. * gcc.target/i386/sse2-ucomisd-5.c: Likewise. * gcc.target/i386/sse2-ucomisd-6.c: Likewise. * gcc.target/i386/sse2-unpack-1.c: Likewise. * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. * gcc.target/i386/sse2-vec-1.c: Likewise. * gcc.target/i386/sse2-vec-2.c: Likewise. * gcc.target/i386/sse2-vec-3.c: Likewise. * gcc.target/i386/sse2-vec-4.c: Likewise. * gcc.target/i386/sse2-vec-5.c: Likewise. * gcc.target/i386/sse2-vec-6.c: Likewise. * gcc.target/i386/sse2-xorpd-1.c: Likewise. * gcc.target/i386/ssefn-2.c: Likewise. * gcc.target/i386/ssefn-4.c: Likewise. * gcc.target/i386/ssefp-1.c: Likewise. * gcc.target/i386/ssefp-2.c: Likewise. * gcc.target/i386/sseregparm-3.c: Likewise. * gcc.target/i386/sseregparm-4.c: Likewise. * gcc.target/i386/sseregparm-5.c: Likewise. * gcc.target/i386/sseregparm-6.c: Likewise. * gcc.target/i386/sseregparm-7.c: Likewise. * gcc.target/i386/ssetype-1.c: Likewise. * gcc.target/i386/ssetype-2.c: Likewise. * gcc.target/i386/ssetype-3.c: Likewise. * gcc.target/i386/ssetype-4.c: Likewise. * gcc.target/i386/ssetype-5.c: Likewise. * gcc.target/i386/unordcmp-1.c: Likewise. * gcc.target/i386/vararg-1.c: Likewise. * gcc.target/i386/vararg-2.c: Likewise. * gcc.target/i386/vararg-3.c: Likewise. * gcc.target/i386/vararg-4.c: Likewise. * gcc.target/i386/vararg-7.c: Likewise. * gcc.target/i386/vararg-8.c: Likewise. * gcc.target/i386/vecinit-1.c: Likewise. * gcc.target/i386/vecinit-2.c: Likewise. * gcc.target/i386/vecinit-3.c: Likewise. * gcc.target/i386/vecinit-4.c: Likewise. * gcc.target/i386/vecinit-5.c: Likewise. * gcc.target/i386/vecinit-6.c: Likewise. * gcc.target/i386/vectorize2.c: Likewise. * gcc.target/i386/vectorize3.c: Likewise. * gcc.target/i386/vectorize4.c: Likewise. * gcc.target/i386/vectorize6.c: Likewise. * gcc.target/i386/vectorize7.c: Likewise. * gcc.target/i386/vectorize8.c: Likewise. * gcc.target/i386/vperm-v2df.c: Likewise. * gcc.target/i386/vperm-v2di.c: Likewise. * gcc.target/i386/vperm-v4si-1.c: Likewise. * gcc.target/i386/xorps-sse2.c: Likewise. * gcc.target/i386/xorps.c: Likewise. * gfortran.dg/graphite/pr42326-1.f90: Likewise. * gfortran.dg/graphite/pr42326.f90: Likewise. * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. From-SVN: r159584 --- gcc/ChangeLog | 7 + gcc/doc/sourcebuild.texi | 14 +- gcc/testsuite/ChangeLog | 353 ++++++++++++++++++ gcc/testsuite/g++.dg/abi/mangle42.C | 1 + gcc/testsuite/g++.dg/ext/attrib35.C | 1 + gcc/testsuite/g++.dg/opt/pr40496.C | 1 + gcc/testsuite/g++.dg/other/i386-1.C | 1 + gcc/testsuite/g++.dg/other/i386-4.C | 1 + gcc/testsuite/g++.dg/other/pr34435.C | 1 + gcc/testsuite/g++.dg/other/pr39496.C | 1 + gcc/testsuite/g++.dg/other/pr40446.C | 1 + gcc/testsuite/g++.dg/vect/vect.exp | 5 +- .../gcc.dg/compat/union-m128-1_main.c | 1 + gcc/testsuite/gcc.dg/compat/vector-1a_main.c | 1 + gcc/testsuite/gcc.dg/compat/vector-2a_main.c | 1 + gcc/testsuite/gcc.dg/lto/20090206-1_0.c | 1 + gcc/testsuite/gcc.dg/pr34856.c | 1 + gcc/testsuite/gcc.dg/pr36584.c | 2 +- gcc/testsuite/gcc.dg/pr36997.c | 3 +- gcc/testsuite/gcc.dg/pr37544.c | 1 + gcc/testsuite/gcc.dg/torture/pr16104-1.c | 1 + gcc/testsuite/gcc.dg/torture/pr35771-1.c | 1 + gcc/testsuite/gcc.dg/torture/pr35771-2.c | 1 + gcc/testsuite/gcc.dg/torture/pr35771-3.c | 1 + .../gcc.dg/torture/stackalign/alloca-2.c | 1 + .../gcc.dg/torture/stackalign/alloca-3.c | 1 + .../gcc.dg/torture/stackalign/push-1.c | 1 + .../gcc.dg/torture/stackalign/vararg-3.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c | 1 + .../costmodel/i386/i386-costmodel-vect.exp | 5 +- .../gcc.dg/vect/vect-debug-pr41926.c | 1 + gcc/testsuite/gcc.dg/vect/vect.exp | 5 +- gcc/testsuite/gcc.target/i386/20060512-1.c | 1 + gcc/testsuite/gcc.target/i386/20060512-3.c | 1 + gcc/testsuite/gcc.target/i386/3dnow-1.c | 1 + gcc/testsuite/gcc.target/i386/3dnow-2.c | 1 + gcc/testsuite/gcc.target/i386/3dnowA-1.c | 1 + gcc/testsuite/gcc.target/i386/3dnowA-2.c | 1 + gcc/testsuite/gcc.target/i386/all_one_m128i.c | 1 + gcc/testsuite/gcc.target/i386/float128-1.c | 1 + gcc/testsuite/gcc.target/i386/float128-2.c | 1 + gcc/testsuite/gcc.target/i386/fpcvt-1.c | 1 + gcc/testsuite/gcc.target/i386/fpcvt-2.c | 1 + gcc/testsuite/gcc.target/i386/fpcvt-3.c | 1 + gcc/testsuite/gcc.target/i386/fpprec-1.c | 1 + gcc/testsuite/gcc.target/i386/funcspec-9.c | 1 + gcc/testsuite/gcc.target/i386/i386.exp | 23 ++ gcc/testsuite/gcc.target/i386/incoming-1.c | 1 + gcc/testsuite/gcc.target/i386/incoming-12.c | 1 + gcc/testsuite/gcc.target/i386/incoming-2.c | 1 + gcc/testsuite/gcc.target/i386/incoming-3.c | 1 + gcc/testsuite/gcc.target/i386/incoming-4.c | 1 + gcc/testsuite/gcc.target/i386/incoming-6.c | 1 + gcc/testsuite/gcc.target/i386/incoming-7.c | 1 + gcc/testsuite/gcc.target/i386/incoming-8.c | 1 + .../i386/math-torture/math-torture.exp | 24 +- gcc/testsuite/gcc.target/i386/opt-1.c | 1 + gcc/testsuite/gcc.target/i386/opt-2.c | 1 + gcc/testsuite/gcc.target/i386/ordcmp-1.c | 1 + gcc/testsuite/gcc.target/i386/pr17692.c | 1 + gcc/testsuite/gcc.target/i386/pr18614-1.c | 1 + gcc/testsuite/gcc.target/i386/pr22152.c | 1 + gcc/testsuite/gcc.target/i386/pr23570.c | 1 + gcc/testsuite/gcc.target/i386/pr23575.c | 1 + gcc/testsuite/gcc.target/i386/pr26449-1.c | 1 + gcc/testsuite/gcc.target/i386/pr26600.c | 1 + gcc/testsuite/gcc.target/i386/pr27790.c | 1 + gcc/testsuite/gcc.target/i386/pr28839.c | 1 + gcc/testsuite/gcc.target/i386/pr30970.c | 1 + gcc/testsuite/gcc.target/i386/pr32000-1.c | 1 + gcc/testsuite/gcc.target/i386/pr32000-2.c | 1 + gcc/testsuite/gcc.target/i386/pr32280.c | 1 + gcc/testsuite/gcc.target/i386/pr32661.c | 1 + gcc/testsuite/gcc.target/i386/pr32708-1.c | 1 + gcc/testsuite/gcc.target/i386/pr32961.c | 1 + gcc/testsuite/gcc.target/i386/pr33329.c | 1 + gcc/testsuite/gcc.target/i386/pr35714.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-1.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-1d.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-1i.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-2.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-2d.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-2i.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-3.c | 1 + gcc/testsuite/gcc.target/i386/pr35767-5.c | 1 + gcc/testsuite/gcc.target/i386/pr36222-1.c | 1 + gcc/testsuite/gcc.target/i386/pr36578-1.c | 1 + gcc/testsuite/gcc.target/i386/pr36578-2.c | 1 + gcc/testsuite/gcc.target/i386/pr36992-1.c | 1 + gcc/testsuite/gcc.target/i386/pr37101.c | 1 + gcc/testsuite/gcc.target/i386/pr37216.c | 1 + gcc/testsuite/gcc.target/i386/pr37434-1.c | 1 + gcc/testsuite/gcc.target/i386/pr37434-2.c | 1 + gcc/testsuite/gcc.target/i386/pr37843-3.c | 1 + gcc/testsuite/gcc.target/i386/pr37843-4.c | 1 + gcc/testsuite/gcc.target/i386/pr39162.c | 1 + gcc/testsuite/gcc.target/i386/pr39315-1.c | 1 + gcc/testsuite/gcc.target/i386/pr39315-2.c | 1 + gcc/testsuite/gcc.target/i386/pr39315-3.c | 1 + gcc/testsuite/gcc.target/i386/pr39315-4.c | 1 + gcc/testsuite/gcc.target/i386/pr39445.c | 1 + gcc/testsuite/gcc.target/i386/pr39496.c | 1 + gcc/testsuite/gcc.target/i386/pr40809.c | 1 + gcc/testsuite/gcc.target/i386/pr40906-3.c | 1 + gcc/testsuite/gcc.target/i386/pr41019.c | 1 + gcc/testsuite/gcc.target/i386/pr42542-1.c | 1 + gcc/testsuite/gcc.target/i386/pr42542-2.c | 1 + gcc/testsuite/gcc.target/i386/pr42542-3.c | 1 + gcc/testsuite/gcc.target/i386/pr42542-3a.c | 1 + gcc/testsuite/gcc.target/i386/pr42549.c | 1 + gcc/testsuite/gcc.target/i386/pr42881.c | 2 + gcc/testsuite/gcc.target/i386/push-1.c | 1 + gcc/testsuite/gcc.target/i386/quad-sse.c | 1 + gcc/testsuite/gcc.target/i386/reload-1.c | 1 + gcc/testsuite/gcc.target/i386/sse-10.c | 1 + gcc/testsuite/gcc.target/i386/sse-11.c | 1 + gcc/testsuite/gcc.target/i386/sse-15.c | 1 + gcc/testsuite/gcc.target/i386/sse-17.c | 1 + gcc/testsuite/gcc.target/i386/sse-18.c | 1 + gcc/testsuite/gcc.target/i386/sse-19.c | 1 + gcc/testsuite/gcc.target/i386/sse-4.c | 1 + gcc/testsuite/gcc.target/i386/sse-6.c | 1 + .../gcc.target/i386/sse-vect-types.c | 1 + gcc/testsuite/gcc.target/i386/sse2-addpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-addsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-andpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-3.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-4.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-5.c | 1 + gcc/testsuite/gcc.target/i386/sse2-comisd-6.c | 1 + .../gcc.target/i386/sse2-copysign-vec.c | 1 + .../gcc.target/i386/sse2-cvtdq2pd-1.c | 1 + .../gcc.target/i386/sse2-cvtdq2ps-1.c | 1 + .../gcc.target/i386/sse2-cvtpd2dq-1.c | 1 + .../gcc.target/i386/sse2-cvtpd2ps-1.c | 1 + .../gcc.target/i386/sse2-cvtps2dq-1.c | 1 + .../gcc.target/i386/sse2-cvtps2pd-1.c | 1 + .../gcc.target/i386/sse2-cvtsd2si-1.c | 1 + .../gcc.target/i386/sse2-cvtsd2si-2.c | 1 + .../gcc.target/i386/sse2-cvtsd2ss-1.c | 1 + .../gcc.target/i386/sse2-cvtsi2sd-1.c | 1 + .../gcc.target/i386/sse2-cvtsi2sd-2.c | 1 + .../gcc.target/i386/sse2-cvtss2sd-1.c | 1 + .../gcc.target/i386/sse2-cvttpd2dq-1.c | 1 + .../gcc.target/i386/sse2-cvttps2dq-1.c | 1 + .../gcc.target/i386/sse2-cvttsd2si-1.c | 1 + .../gcc.target/i386/sse2-cvttsd2si-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-divpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-divsd-1.c | 1 + .../gcc.target/i386/sse2-init-v16qi-1.c | 1 + .../gcc.target/i386/sse2-init-v2di-1.c | 1 + .../gcc.target/i386/sse2-init-v4si-1.c | 1 + .../gcc.target/i386/sse2-init-v8hi-1.c | 1 + .../gcc.target/i386/sse2-lrint-vec.c | 1 + .../gcc.target/i386/sse2-lrintf-vec.c | 1 + gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-minpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-minsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-mmx.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movapd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movapd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c | 1 + .../gcc.target/i386/sse2-movmskpd-1.c | 1 + .../gcc.target/i386/sse2-movntdq-1.c | 1 + .../gcc.target/i386/sse2-movntpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movq-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movq-3.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movsd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movupd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-movupd-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-orpd-1.c | 1 + .../gcc.target/i386/sse2-packssdw-1.c | 1 + .../gcc.target/i386/sse2-packsswb-1.c | 1 + .../gcc.target/i386/sse2-packuswb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c | 1 + .../gcc.target/i386/sse2-paddusb-1.c | 1 + .../gcc.target/i386/sse2-paddusw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-paddw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pand-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pandn-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c | 1 + .../gcc.target/i386/sse2-pcmpeqb-1.c | 1 + .../gcc.target/i386/sse2-pcmpeqd-1.c | 1 + .../gcc.target/i386/sse2-pcmpeqw-1.c | 1 + .../gcc.target/i386/sse2-pcmpgtb-1.c | 1 + .../gcc.target/i386/sse2-pcmpgtd-1.c | 1 + .../gcc.target/i386/sse2-pcmpgtw-1.c | 1 + .../gcc.target/i386/sse2-pmaddwd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pminub-1.c | 1 + .../gcc.target/i386/sse2-pmovmskb-1.c | 1 + .../gcc.target/i386/sse2-pmulhuw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c | 1 + .../gcc.target/i386/sse2-pmuludq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-por-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c | 1 + .../gcc.target/i386/sse2-pshufhw-1.c | 1 + .../gcc.target/i386/sse2-pshuflw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pslld-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pslld-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psllq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psllq-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psllw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psllw-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrad-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrad-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psraw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psraw-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrld-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrld-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubq-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-psubw-1.c | 1 + .../gcc.target/i386/sse2-punpckhbw-1.c | 1 + .../gcc.target/i386/sse2-punpckhdq-1.c | 1 + .../gcc.target/i386/sse2-punpckhqdq-1.c | 1 + .../gcc.target/i386/sse2-punpckhwd-1.c | 1 + .../gcc.target/i386/sse2-punpcklbw-1.c | 1 + .../gcc.target/i386/sse2-punpckldq-1.c | 1 + .../gcc.target/i386/sse2-punpcklqdq-1.c | 1 + .../gcc.target/i386/sse2-punpcklwd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-pxor-1.c | 1 + .../gcc.target/i386/sse2-set-epi32-1.c | 1 + .../gcc.target/i386/sse2-set-epi64x-1.c | 1 + .../gcc.target/i386/sse2-set-v16qi-1.c | 1 + .../gcc.target/i386/sse2-set-v16qi-2.c | 1 + .../gcc.target/i386/sse2-set-v16qi-3.c | 1 + .../gcc.target/i386/sse2-set-v8hi-1.c | 1 + .../gcc.target/i386/sse2-set-v8hi-1a.c | 1 + .../gcc.target/i386/sse2-set-v8hi-2.c | 1 + .../gcc.target/i386/sse2-set-v8hi-2a.c | 1 + gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-shufps-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-subpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-subsd-1.c | 1 + .../gcc.target/i386/sse2-ucomisd-1.c | 1 + .../gcc.target/i386/sse2-ucomisd-2.c | 1 + .../gcc.target/i386/sse2-ucomisd-3.c | 1 + .../gcc.target/i386/sse2-ucomisd-4.c | 1 + .../gcc.target/i386/sse2-ucomisd-5.c | 1 + .../gcc.target/i386/sse2-ucomisd-6.c | 1 + gcc/testsuite/gcc.target/i386/sse2-unpack-1.c | 1 + .../gcc.target/i386/sse2-unpckhpd-1.c | 1 + .../gcc.target/i386/sse2-unpcklpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-1.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-2.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-3.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-4.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-5.c | 1 + gcc/testsuite/gcc.target/i386/sse2-vec-6.c | 1 + gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c | 1 + gcc/testsuite/gcc.target/i386/sse3-addsubpd.c | 1 + gcc/testsuite/gcc.target/i386/sse3-addsubps.c | 1 + gcc/testsuite/gcc.target/i386/sse3-haddpd.c | 1 + gcc/testsuite/gcc.target/i386/sse3-haddps.c | 1 + gcc/testsuite/gcc.target/i386/sse3-hsubpd.c | 1 + gcc/testsuite/gcc.target/i386/sse3-hsubps.c | 1 + gcc/testsuite/gcc.target/i386/sse3-lddqu.c | 1 + gcc/testsuite/gcc.target/i386/sse3-movddup.c | 1 + gcc/testsuite/gcc.target/i386/sse3-movshdup.c | 1 + gcc/testsuite/gcc.target/i386/sse3-movsldup.c | 1 + gcc/testsuite/gcc.target/i386/ssefn-2.c | 1 + gcc/testsuite/gcc.target/i386/ssefn-4.c | 1 + gcc/testsuite/gcc.target/i386/ssefp-1.c | 1 + gcc/testsuite/gcc.target/i386/ssefp-2.c | 1 + gcc/testsuite/gcc.target/i386/sseregparm-3.c | 1 + gcc/testsuite/gcc.target/i386/sseregparm-4.c | 1 + gcc/testsuite/gcc.target/i386/sseregparm-5.c | 1 + gcc/testsuite/gcc.target/i386/sseregparm-6.c | 1 + gcc/testsuite/gcc.target/i386/sseregparm-7.c | 1 + gcc/testsuite/gcc.target/i386/ssetype-1.c | 1 + gcc/testsuite/gcc.target/i386/ssetype-2.c | 1 + gcc/testsuite/gcc.target/i386/ssetype-3.c | 1 + gcc/testsuite/gcc.target/i386/ssetype-4.c | 1 + gcc/testsuite/gcc.target/i386/ssetype-5.c | 1 + gcc/testsuite/gcc.target/i386/unordcmp-1.c | 1 + gcc/testsuite/gcc.target/i386/vararg-1.c | 1 + gcc/testsuite/gcc.target/i386/vararg-2.c | 1 + gcc/testsuite/gcc.target/i386/vararg-3.c | 1 + gcc/testsuite/gcc.target/i386/vararg-4.c | 1 + gcc/testsuite/gcc.target/i386/vararg-7.c | 1 + gcc/testsuite/gcc.target/i386/vararg-8.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-1.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-2.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-3.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-4.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-5.c | 1 + gcc/testsuite/gcc.target/i386/vecinit-6.c | 1 + gcc/testsuite/gcc.target/i386/vectorize2.c | 1 + gcc/testsuite/gcc.target/i386/vectorize3.c | 1 + gcc/testsuite/gcc.target/i386/vectorize4.c | 1 + gcc/testsuite/gcc.target/i386/vectorize6.c | 1 + gcc/testsuite/gcc.target/i386/vectorize7.c | 1 + gcc/testsuite/gcc.target/i386/vectorize8.c | 1 + gcc/testsuite/gcc.target/i386/vperm-v2df.c | 1 + gcc/testsuite/gcc.target/i386/vperm-v2di.c | 1 + gcc/testsuite/gcc.target/i386/vperm-v4si-1.c | 1 + gcc/testsuite/gcc.target/i386/xorps-sse2.c | 1 + gcc/testsuite/gcc.target/i386/xorps.c | 1 + .../gfortran.dg/graphite/pr42326-1.f90 | 1 + .../gfortran.dg/graphite/pr42326.f90 | 1 + .../gfortran.dg/vect/fast-math-mgrid-resid.f | 1 + gcc/testsuite/gfortran.dg/vect/vect.exp | 5 +- gcc/testsuite/lib/fortran-torture.exp | 3 +- gcc/testsuite/lib/target-supports-dg.exp | 17 +- gcc/testsuite/lib/target-supports.exp | 12 + 344 files changed, 789 insertions(+), 20 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5eb9e02379b..4167712f49b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-05-19 Rainer Orth + + * doc/sourcebuild.texi (Effective-Target Keywords): Document + 3dnow, sse3, sse2. + (Directives): Document optional dg-require-effective-target + selector. + 2010-05-19 Richard Guenther PR lto/44196 diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 14397b78653..a27aea2123f 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1094,9 +1094,12 @@ but not if @code{-fpic} is also present: /* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2 -g" "-O3 -g" @} @{ "-fpic" @} @} */ @end smallexample -@item @{ dg-require-effective-target @var{keyword} @} +@item @{ dg-require-effective-target @var{keyword} [@{ @var{selector} @}] @} Skip the test if the test target, including current multilib flags, is not covered by the effective-target keyword. +If the directive includes the optional @samp{@{ @var{selector} @}} +then the effective-target test is only performed if the target system +matches the @var{selector}. This directive must appear after any @code{dg-do} directive in the test and before any @code{dg-additional-sources} directive. @xref{Effective-Target Keywords, , }. @@ -1595,6 +1598,9 @@ Target uses a ColdFire FPU. @item hard_float Target supports FPU instructions. +@item sse2 +Target supports compiling @code{sse2} instructions. + @item sync_char_short Target supports atomic operations on @code{char} and @code{short}. @@ -1794,6 +1800,9 @@ Target supports @code{wchar_t} that is compatible with @code{char32_t}. @subsubsection Local to tests in @code{gcc.target/i386} @table @code +@item 3dnow +Target supports compiling @code{3dnow} instructions. + @item aes Target supports compiling @code{aes} instructions. @@ -1806,6 +1815,9 @@ Target supports attribute @code{ms_hook_prologue}. @item pclmul Target supports compiling @code{pclmul} instructions. +@item sse3 +Target supports compiling @code{sse3} instructions. + @item sse4 Target supports compiling @code{sse4} instructions. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4de8c08286e..d68e7c6f34a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,356 @@ +2010-05-19 Rainer Orth + + * lib/target-supports.exp (check_effective_target_sse2): New proc. + * lib/target-supports-dg.exp (dg-require-effective-target): Allow + for optional selector. + * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. + (check_effective_target_sse3): New proc. + * gcc.target/i386/math-torture/math-torture.exp: Load + target-supports.exp. + Only add options with -msse2 to MATH_TORTURE_OPTIONS if + check_effective_target_sse2. + * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. + * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. + * g++.dg/vect/vect.exp: Likewise. + * gfortran.dg/vect/vect.exp: Likewise. + * lib/fortran-torture.exp (get-fortran-torture-options): Only use + -msse2 if check_effective_target_sse2. + + * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. + * gcc.target/i386/3dnow-2.c: Likewise. + * gcc.target/i386/3dnowA-1.c: Likewise. + * gcc.target/i386/3dnowA-2.c: Likewise. + * gcc.target/i386/pr42549.c: Likewise. + + * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. + * gcc.target/i386/sse3-addsubps.c: Likewise. + * gcc.target/i386/sse3-haddpd.c: Likewise. + * gcc.target/i386/sse3-haddps.c: Likewise. + * gcc.target/i386/sse3-hsubpd.c: Likewise. + * gcc.target/i386/sse3-hsubps.c: Likewise. + * gcc.target/i386/sse3-lddqu.c: Likewise. + * gcc.target/i386/sse3-movddup.c: Likewise. + * gcc.target/i386/sse3-movshdup.c: Likewise. + * gcc.target/i386/sse3-movsldup.c: Likewise. + + * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. + * g++.dg/ext/attrib35.C: Likewise. + * g++.dg/opt/pr40496.C: Likewise. + * g++.dg/other/i386-1.C: Likewise. + * g++.dg/other/i386-4.C: Likewise. + * g++.dg/other/pr34435.C: Likewise. + * g++.dg/other/pr39496.C: Likewise. + * g++.dg/other/pr40446.C: Likewise. + * gcc.dg/compat/union-m128-1_main.c: Likewise. + * gcc.dg/compat/vector-1a_main.c: Likewise. + * gcc.dg/compat/vector-2a_main.c: Likewise. + * gcc.dg/lto/20090206-1_0.c: Likewise. + * gcc.dg/pr34856.c: Likewise. + * gcc.dg/pr36584.c: Likewise. + * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. + * gcc.dg/pr37544.c: Likewise. + * gcc.dg/torture/pr16104-1.c: Likewise. + * gcc.dg/torture/pr35771-1.c: Likewise. + * gcc.dg/torture/pr35771-2.c: Likewise. + * gcc.dg/torture/pr35771-3.c: Likewise. + * gcc.dg/torture/stackalign/alloca-2.c: Likewise. + * gcc.dg/torture/stackalign/alloca-3.c: Likewise. + * gcc.dg/torture/stackalign/push-1.c: Likewise. + * gcc.dg/torture/stackalign/vararg-3.c: Likewise. + * gcc.dg/tree-ssa/prefetch-6.c: Likewise. + * gcc.dg/tree-ssa/prefetch-7.c: Likewise. + * gcc.dg/vect/vect-debug-pr41926.c: Likewise. + * gcc.target/i386/20060512-1.c: Likewise. + * gcc.target/i386/20060512-3.c: Likewise. + * gcc.target/i386/all_one_m128i.c: Likewise. + * gcc.target/i386/float128-1.c: Likewise. + * gcc.target/i386/float128-2.c: Likewise. + * gcc.target/i386/fpcvt-1.c: Likewise. + * gcc.target/i386/fpcvt-2.c: Likewise. + * gcc.target/i386/fpcvt-3.c: Likewise. + * gcc.target/i386/fpprec-1.c: Likewise. + * gcc.target/i386/funcspec-9.c: Likewise. + * gcc.target/i386/incoming-1.c: Likewise. + * gcc.target/i386/incoming-12.c: Likewise. + * gcc.target/i386/incoming-2.c: Likewise. + * gcc.target/i386/incoming-3.c: Likewise. + * gcc.target/i386/incoming-4.c: Likewise. + * gcc.target/i386/incoming-6.c: Likewise. + * gcc.target/i386/incoming-7.c: Likewise. + * gcc.target/i386/incoming-8.c: Likewise. + * gcc.target/i386/opt-1.c: Likewise. + * gcc.target/i386/opt-2.c: Likewise. + * gcc.target/i386/ordcmp-1.c: Likewise. + * gcc.target/i386/pr17692.c: Likewise. + * gcc.target/i386/pr18614-1.c: Likewise. + * gcc.target/i386/pr22152.c: Likewise. + * gcc.target/i386/pr23570.c: Likewise. + * gcc.target/i386/pr23575.c: Likewise. + * gcc.target/i386/pr26449-1.c: Likewise. + * gcc.target/i386/pr26600.c: Likewise. + * gcc.target/i386/pr27790.c: Likewise. + * gcc.target/i386/pr28839.c: Likewise. + * gcc.target/i386/pr30970.c: Likewise. + * gcc.target/i386/pr32000-1.c: Likewise. + * gcc.target/i386/pr32000-2.c: Likewise. + * gcc.target/i386/pr32280.c: Likewise. + * gcc.target/i386/pr32661.c: Likewise. + * gcc.target/i386/pr32708-1.c: Likewise. + * gcc.target/i386/pr32961.c: Likewise. + * gcc.target/i386/pr33329.c: Likewise. + * gcc.target/i386/pr35714.c: Likewise. + * gcc.target/i386/pr35767-1.c: Likewise. + * gcc.target/i386/pr35767-1d.c: Likewise. + * gcc.target/i386/pr35767-1i.c: Likewise. + * gcc.target/i386/pr35767-2.c: Likewise. + * gcc.target/i386/pr35767-2d.c: Likewise. + * gcc.target/i386/pr35767-2i.c: Likewise. + * gcc.target/i386/pr35767-3.c: Likewise. + * gcc.target/i386/pr35767-5.c: Likewise. + * gcc.target/i386/pr36222-1.c: Likewise. + * gcc.target/i386/pr36578-1.c: Likewise. + * gcc.target/i386/pr36578-2.c: Likewise. + * gcc.target/i386/pr36992-1.c: Likewise. + * gcc.target/i386/pr37101.c: Likewise. + * gcc.target/i386/pr37216.c: Likewise. + * gcc.target/i386/pr37434-1.c: Likewise. + * gcc.target/i386/pr37434-2.c: Likewise. + * gcc.target/i386/pr37843-3.c: Likewise. + * gcc.target/i386/pr37843-4.c: Likewise. + * gcc.target/i386/pr39162.c: Likewise. + * gcc.target/i386/pr39315-1.c: Likewise. + * gcc.target/i386/pr39315-2.c: Likewise. + * gcc.target/i386/pr39315-3.c: Likewise. + * gcc.target/i386/pr39315-4.c: Likewise. + * gcc.target/i386/pr39445.c: Likewise. + * gcc.target/i386/pr39496.c: Likewise. + * gcc.target/i386/pr40809.c: Likewise. + * gcc.target/i386/pr40906-3.c: Likewise. + * gcc.target/i386/pr41019.c: Likewise. + * gcc.target/i386/pr42542-1.c: Likewise. + * gcc.target/i386/pr42542-2.c: Likewise. + * gcc.target/i386/pr42542-3.c: Likewise. + * gcc.target/i386/pr42542-3a.c: Likewise. + * gcc.target/i386/pr42881.c: Likewise. + * gcc.target/i386/push-1.c: Likewise. + * gcc.target/i386/quad-sse.c: Likewise. + * gcc.target/i386/reload-1.c: Likewise. + * gcc.target/i386/sse-10.c: Likewise. + * gcc.target/i386/sse-11.c: Likewise. + * gcc.target/i386/sse-15.c: Likewise. + * gcc.target/i386/sse-17.c: Likewise. + * gcc.target/i386/sse-18.c: Likewise. + * gcc.target/i386/sse-19.c: Likewise. + * gcc.target/i386/sse-4.c: Likewise. + * gcc.target/i386/sse-6.c: Likewise. + * gcc.target/i386/sse-vect-types.c: Likewise. + * gcc.target/i386/sse2-addpd-1.c: Likewise. + * gcc.target/i386/sse2-addsd-1.c: Likewise. + * gcc.target/i386/sse2-andnpd-1.c: Likewise. + * gcc.target/i386/sse2-andpd-1.c: Likewise. + * gcc.target/i386/sse2-cmpsd-1.c: Likewise. + * gcc.target/i386/sse2-comisd-1.c: Likewise. + * gcc.target/i386/sse2-comisd-2.c: Likewise. + * gcc.target/i386/sse2-comisd-3.c: Likewise. + * gcc.target/i386/sse2-comisd-4.c: Likewise. + * gcc.target/i386/sse2-comisd-5.c: Likewise. + * gcc.target/i386/sse2-comisd-6.c: Likewise. + * gcc.target/i386/sse2-copysign-vec.c: Likewise. + * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. + * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. + * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. + * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. + * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. + * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. + * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. + * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. + * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. + * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. + * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. + * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. + * gcc.target/i386/sse2-divpd-1.c: Likewise. + * gcc.target/i386/sse2-divsd-1.c: Likewise. + * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. + * gcc.target/i386/sse2-init-v2di-1.c: Likewise. + * gcc.target/i386/sse2-init-v4si-1.c: Likewise. + * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. + * gcc.target/i386/sse2-lrint-vec.c: Likewise. + * gcc.target/i386/sse2-lrintf-vec.c: Likewise. + * gcc.target/i386/sse2-maxpd-1.c: Likewise. + * gcc.target/i386/sse2-maxsd-1.c: Likewise. + * gcc.target/i386/sse2-minpd-1.c: Likewise. + * gcc.target/i386/sse2-minsd-1.c: Likewise. + * gcc.target/i386/sse2-mmx.c: Likewise. + * gcc.target/i386/sse2-movapd-1.c: Likewise. + * gcc.target/i386/sse2-movapd-2.c: Likewise. + * gcc.target/i386/sse2-movd-1.c: Likewise. + * gcc.target/i386/sse2-movd-2.c: Likewise. + * gcc.target/i386/sse2-movdqa-1.c: Likewise. + * gcc.target/i386/sse2-movdqa-2.c: Likewise. + * gcc.target/i386/sse2-movdqu-1.c: Likewise. + * gcc.target/i386/sse2-movdqu-2.c: Likewise. + * gcc.target/i386/sse2-movhpd-1.c: Likewise. + * gcc.target/i386/sse2-movhpd-2.c: Likewise. + * gcc.target/i386/sse2-movlpd-1.c: Likewise. + * gcc.target/i386/sse2-movlpd-2.c: Likewise. + * gcc.target/i386/sse2-movmskpd-1.c: Likewise. + * gcc.target/i386/sse2-movntdq-1.c: Likewise. + * gcc.target/i386/sse2-movntpd-1.c: Likewise. + * gcc.target/i386/sse2-movq-1.c: Likewise. + * gcc.target/i386/sse2-movq-2.c: Likewise. + * gcc.target/i386/sse2-movq-3.c: Likewise. + * gcc.target/i386/sse2-movsd-1.c: Likewise. + * gcc.target/i386/sse2-movsd-2.c: Likewise. + * gcc.target/i386/sse2-movupd-1.c: Likewise. + * gcc.target/i386/sse2-movupd-2.c: Likewise. + * gcc.target/i386/sse2-mulpd-1.c: Likewise. + * gcc.target/i386/sse2-mulsd-1.c: Likewise. + * gcc.target/i386/sse2-orpd-1.c: Likewise. + * gcc.target/i386/sse2-packssdw-1.c: Likewise. + * gcc.target/i386/sse2-packsswb-1.c: Likewise. + * gcc.target/i386/sse2-packuswb-1.c: Likewise. + * gcc.target/i386/sse2-paddb-1.c: Likewise. + * gcc.target/i386/sse2-paddd-1.c: Likewise. + * gcc.target/i386/sse2-paddq-1.c: Likewise. + * gcc.target/i386/sse2-paddsb-1.c: Likewise. + * gcc.target/i386/sse2-paddsw-1.c: Likewise. + * gcc.target/i386/sse2-paddusb-1.c: Likewise. + * gcc.target/i386/sse2-paddusw-1.c: Likewise. + * gcc.target/i386/sse2-paddw-1.c: Likewise. + * gcc.target/i386/sse2-pand-1.c: Likewise. + * gcc.target/i386/sse2-pandn-1.c: Likewise. + * gcc.target/i386/sse2-pavgb-1.c: Likewise. + * gcc.target/i386/sse2-pavgw-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. + * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. + * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. + * gcc.target/i386/sse2-pmaxub-1.c: Likewise. + * gcc.target/i386/sse2-pminsw-1.c: Likewise. + * gcc.target/i386/sse2-pminub-1.c: Likewise. + * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. + * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. + * gcc.target/i386/sse2-pmulhw-1.c: Likewise. + * gcc.target/i386/sse2-pmullw-1.c: Likewise. + * gcc.target/i386/sse2-pmuludq-1.c: Likewise. + * gcc.target/i386/sse2-por-1.c: Likewise. + * gcc.target/i386/sse2-psadbw-1.c: Likewise. + * gcc.target/i386/sse2-pshufd-1.c: Likewise. + * gcc.target/i386/sse2-pshufhw-1.c: Likewise. + * gcc.target/i386/sse2-pshuflw-1.c: Likewise. + * gcc.target/i386/sse2-pslld-1.c: Likewise. + * gcc.target/i386/sse2-pslld-2.c: Likewise. + * gcc.target/i386/sse2-pslldq-1.c: Likewise. + * gcc.target/i386/sse2-psllq-1.c: Likewise. + * gcc.target/i386/sse2-psllq-2.c: Likewise. + * gcc.target/i386/sse2-psllw-1.c: Likewise. + * gcc.target/i386/sse2-psllw-2.c: Likewise. + * gcc.target/i386/sse2-psrad-1.c: Likewise. + * gcc.target/i386/sse2-psrad-2.c: Likewise. + * gcc.target/i386/sse2-psraw-1.c: Likewise. + * gcc.target/i386/sse2-psraw-2.c: Likewise. + * gcc.target/i386/sse2-psrld-1.c: Likewise. + * gcc.target/i386/sse2-psrld-2.c: Likewise. + * gcc.target/i386/sse2-psrldq-1.c: Likewise. + * gcc.target/i386/sse2-psrlq-1.c: Likewise. + * gcc.target/i386/sse2-psrlq-2.c: Likewise. + * gcc.target/i386/sse2-psrlw-1.c: Likewise. + * gcc.target/i386/sse2-psrlw-2.c: Likewise. + * gcc.target/i386/sse2-psubb-1.c: Likewise. + * gcc.target/i386/sse2-psubd-1.c: Likewise. + * gcc.target/i386/sse2-psubq-1.c: Likewise. + * gcc.target/i386/sse2-psubsb-1.c: Likewise. + * gcc.target/i386/sse2-psubsw-1.c: Likewise. + * gcc.target/i386/sse2-psubw-1.c: Likewise. + * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. + * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. + * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. + * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. + * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. + * gcc.target/i386/sse2-punpckldq-1.c: Likewise. + * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. + * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. + * gcc.target/i386/sse2-pxor-1.c: Likewise. + * gcc.target/i386/sse2-set-epi32-1.c: Likewise. + * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. + * gcc.target/i386/sse2-shufpd-1.c: Likewise. + * gcc.target/i386/sse2-shufps-1.c: Likewise. + * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. + * gcc.target/i386/sse2-subpd-1.c: Likewise. + * gcc.target/i386/sse2-subsd-1.c: Likewise. + * gcc.target/i386/sse2-ucomisd-1.c: Likewise. + * gcc.target/i386/sse2-ucomisd-2.c: Likewise. + * gcc.target/i386/sse2-ucomisd-3.c: Likewise. + * gcc.target/i386/sse2-ucomisd-4.c: Likewise. + * gcc.target/i386/sse2-ucomisd-5.c: Likewise. + * gcc.target/i386/sse2-ucomisd-6.c: Likewise. + * gcc.target/i386/sse2-unpack-1.c: Likewise. + * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. + * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. + * gcc.target/i386/sse2-vec-1.c: Likewise. + * gcc.target/i386/sse2-vec-2.c: Likewise. + * gcc.target/i386/sse2-vec-3.c: Likewise. + * gcc.target/i386/sse2-vec-4.c: Likewise. + * gcc.target/i386/sse2-vec-5.c: Likewise. + * gcc.target/i386/sse2-vec-6.c: Likewise. + * gcc.target/i386/sse2-xorpd-1.c: Likewise. + * gcc.target/i386/ssefn-2.c: Likewise. + * gcc.target/i386/ssefn-4.c: Likewise. + * gcc.target/i386/ssefp-1.c: Likewise. + * gcc.target/i386/ssefp-2.c: Likewise. + * gcc.target/i386/sseregparm-3.c: Likewise. + * gcc.target/i386/sseregparm-4.c: Likewise. + * gcc.target/i386/sseregparm-5.c: Likewise. + * gcc.target/i386/sseregparm-6.c: Likewise. + * gcc.target/i386/sseregparm-7.c: Likewise. + * gcc.target/i386/ssetype-1.c: Likewise. + * gcc.target/i386/ssetype-2.c: Likewise. + * gcc.target/i386/ssetype-3.c: Likewise. + * gcc.target/i386/ssetype-4.c: Likewise. + * gcc.target/i386/ssetype-5.c: Likewise. + * gcc.target/i386/unordcmp-1.c: Likewise. + * gcc.target/i386/vararg-1.c: Likewise. + * gcc.target/i386/vararg-2.c: Likewise. + * gcc.target/i386/vararg-3.c: Likewise. + * gcc.target/i386/vararg-4.c: Likewise. + * gcc.target/i386/vararg-7.c: Likewise. + * gcc.target/i386/vararg-8.c: Likewise. + * gcc.target/i386/vecinit-1.c: Likewise. + * gcc.target/i386/vecinit-2.c: Likewise. + * gcc.target/i386/vecinit-3.c: Likewise. + * gcc.target/i386/vecinit-4.c: Likewise. + * gcc.target/i386/vecinit-5.c: Likewise. + * gcc.target/i386/vecinit-6.c: Likewise. + * gcc.target/i386/vectorize2.c: Likewise. + * gcc.target/i386/vectorize3.c: Likewise. + * gcc.target/i386/vectorize4.c: Likewise. + * gcc.target/i386/vectorize6.c: Likewise. + * gcc.target/i386/vectorize7.c: Likewise. + * gcc.target/i386/vectorize8.c: Likewise. + * gcc.target/i386/vperm-v2df.c: Likewise. + * gcc.target/i386/vperm-v2di.c: Likewise. + * gcc.target/i386/vperm-v4si-1.c: Likewise. + * gcc.target/i386/xorps-sse2.c: Likewise. + * gcc.target/i386/xorps.c: Likewise. + * gfortran.dg/graphite/pr42326-1.f90: Likewise. + * gfortran.dg/graphite/pr42326.f90: Likewise. + * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. + 2010-05-19 Richard Guenther PR lto/44196 diff --git a/gcc/testsuite/g++.dg/abi/mangle42.C b/gcc/testsuite/g++.dg/abi/mangle42.C index 730781b300b..b7e3bd561eb 100644 --- a/gcc/testsuite/g++.dg/abi/mangle42.C +++ b/gcc/testsuite/g++.dg/abi/mangle42.C @@ -1,6 +1,7 @@ // Origin: PR c++/43375 // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-options "-msse2 -std=gnu++0x" } +// { dg-require-effective-target sse2 } typedef float __v4sf __attribute__ ((__vector_size__ (16))); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/g++.dg/ext/attrib35.C b/gcc/testsuite/g++.dg/ext/attrib35.C index 63892e1e338..e60a59dffb7 100644 --- a/gcc/testsuite/g++.dg/ext/attrib35.C +++ b/gcc/testsuite/g++.dg/ext/attrib35.C @@ -1,5 +1,6 @@ // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-options "-O3 -msse2" } +// { dg-require-effective-target sse2 } // You can make NON-template typedefs with a large alignment. typedef double AlignedDoubleType __attribute__((aligned(16))); diff --git a/gcc/testsuite/g++.dg/opt/pr40496.C b/gcc/testsuite/g++.dg/opt/pr40496.C index b0eaebf702f..961f067aff2 100644 --- a/gcc/testsuite/g++.dg/opt/pr40496.C +++ b/gcc/testsuite/g++.dg/opt/pr40496.C @@ -1,5 +1,6 @@ // { dg-do compile } // { dg-options "-O2 -fprefetch-loop-arrays -msse2" { target i?86-*-* x86_64-*-* } } +// { dg-require-effective-target sse2 { target i?86-*-* x86_64-*-* } } struct DOMStringHandle { diff --git a/gcc/testsuite/g++.dg/other/i386-1.C b/gcc/testsuite/g++.dg/other/i386-1.C index 853f913db1e..5a91e603660 100644 --- a/gcc/testsuite/g++.dg/other/i386-1.C +++ b/gcc/testsuite/g++.dg/other/i386-1.C @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/i386-4.C b/gcc/testsuite/g++.dg/other/i386-4.C index 3e0d94e952c..858a3a74e00 100644 --- a/gcc/testsuite/g++.dg/other/i386-4.C +++ b/gcc/testsuite/g++.dg/other/i386-4.C @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-O1 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/pr34435.C b/gcc/testsuite/g++.dg/other/pr34435.C index 5352a40eb69..107ff6a088b 100644 --- a/gcc/testsuite/g++.dg/other/pr34435.C +++ b/gcc/testsuite/g++.dg/other/pr34435.C @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2 -Wno-abi" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/pr39496.C b/gcc/testsuite/g++.dg/other/pr39496.C index 5b1e76c7576..3791434e436 100644 --- a/gcc/testsuite/g++.dg/other/pr39496.C +++ b/gcc/testsuite/g++.dg/other/pr39496.C @@ -1,6 +1,7 @@ // PR target/39496 // { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } // { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } +// { dg-require-effective-target sse2 } // Verify that {foo,bar}{,2}param are all passed on the stack, using // normal calling conventions, when not optimizing. // { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } diff --git a/gcc/testsuite/g++.dg/other/pr40446.C b/gcc/testsuite/g++.dg/other/pr40446.C index 33dbcec7159..dd0aa482075 100644 --- a/gcc/testsuite/g++.dg/other/pr40446.C +++ b/gcc/testsuite/g++.dg/other/pr40446.C @@ -1,6 +1,7 @@ // PR middle-end/40446 // { dg-do run { target i?86-*-* x86_64-*-* } } // { dg-options "-O1 -msse2" } +// { dg-require-effective-target sse2 } #include #include "cpuid.h" diff --git a/gcc/testsuite/g++.dg/vect/vect.exp b/gcc/testsuite/g++.dg/vect/vect.exp index b735c223334..65a0235af12 100644 --- a/gcc/testsuite/g++.dg/vect/vect.exp +++ b/gcc/testsuite/g++.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -75,6 +75,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c b/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c index 11f872154eb..cfd081db896 100644 --- a/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c +++ b/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c @@ -1,5 +1,6 @@ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-O" } */ +/* { dg-require-effective-target sse2 } */ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/compat/vector-1a_main.c b/gcc/testsuite/gcc.dg/compat/vector-1a_main.c index 76fb2915e1d..c5acc35f4d8 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-1a_main.c +++ b/gcc/testsuite/gcc.dg/compat/vector-1a_main.c @@ -1,4 +1,5 @@ /* { dg-skip-if "test SSE2 vector" { ! { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 } */ /* Test compatibility of vector types: layout between separately-compiled modules, parameter passing, and function return. This test uses diff --git a/gcc/testsuite/gcc.dg/compat/vector-2a_main.c b/gcc/testsuite/gcc.dg/compat/vector-2a_main.c index 96c1111fddc..164c4b25e2e 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-2a_main.c +++ b/gcc/testsuite/gcc.dg/compat/vector-2a_main.c @@ -1,4 +1,5 @@ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 } */ /* Test compatibility of vector types: layout between separately-compiled modules, parameter passing, and function return. This test uses diff --git a/gcc/testsuite/gcc.dg/lto/20090206-1_0.c b/gcc/testsuite/gcc.dg/lto/20090206-1_0.c index 13cd8861183..1fabb9192ce 100644 --- a/gcc/testsuite/gcc.dg/lto/20090206-1_0.c +++ b/gcc/testsuite/gcc.dg/lto/20090206-1_0.c @@ -1,6 +1,7 @@ /* { dg-lto-do link } */ /* { dg-skip-if "" { ! { i?86-*-linux* x86_64-*-linux* } } { "*" } { "" } } */ /* { dg-lto-options {{-fPIC -r -nostdlib -fwhopr -msse2}} } */ +/* { dg-require-effective-target sse2 } */ /* { dg-suppress-ld-options {-fPIC -msse2} } */ typedef short v8hi __attribute__((__vector_size__(16))); diff --git a/gcc/testsuite/gcc.dg/pr34856.c b/gcc/testsuite/gcc.dg/pr34856.c index 6bfc704774f..76499f7b8f5 100644 --- a/gcc/testsuite/gcc.dg/pr34856.c +++ b/gcc/testsuite/gcc.dg/pr34856.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -msse2" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-O2 -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } } */ typedef unsigned __attribute__ ((__mode__ (__pointer__))) uintptr_t; diff --git a/gcc/testsuite/gcc.dg/pr36584.c b/gcc/testsuite/gcc.dg/pr36584.c index 7d83ece3339..a39eb572e1d 100644 --- a/gcc/testsuite/gcc.dg/pr36584.c +++ b/gcc/testsuite/gcc.dg/pr36584.c @@ -1,7 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -lm" } */ /* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ - +/* { dg-require-effective-target sse2 { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ #ifdef __i386__ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/pr36997.c b/gcc/testsuite/gcc.dg/pr36997.c index 13461b8a134..51b06a7791c 100644 --- a/gcc/testsuite/gcc.dg/pr36997.c +++ b/gcc/testsuite/gcc.dg/pr36997.c @@ -1,9 +1,10 @@ /* { dg-do compile { target x86_64-*-* i?86-*-* } } */ /* { dg-options "-std=c99 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__)); __m64 _mm_add_si64 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */ - /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 7 } */ + /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 8 } */ } diff --git a/gcc/testsuite/gcc.dg/pr37544.c b/gcc/testsuite/gcc.dg/pr37544.c index 6393d2f89d8..efca1db6d4a 100644 --- a/gcc/testsuite/gcc.dg/pr37544.c +++ b/gcc/testsuite/gcc.dg/pr37544.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -msse2 -mtune=core2 -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ #ifdef __i386__ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/pr16104-1.c b/gcc/testsuite/gcc.dg/torture/pr16104-1.c index 018a1bac760..3eb405906a2 100644 --- a/gcc/testsuite/gcc.dg/torture/pr16104-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr16104-1.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/16104 */ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-1.c b/gcc/testsuite/gcc.dg/torture/pr35771-1.c index c88241bcb97..8def464aa6d 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-1.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-2.c b/gcc/testsuite/gcc.dg/torture/pr35771-2.c index d036f396e77..3d6add10de9 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-2.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-2.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-3.c b/gcc/testsuite/gcc.dg/torture/pr35771-3.c index b76c569f499..9a69b21a511 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-3.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-3.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c index b52dcf06566..cbbb9d03a4c 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c index 47f3607c2a5..ffe52f2a3e0 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c index 7417324e4bb..c020d731293 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c @@ -1,6 +1,7 @@ /* PR middle-end/37010 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c index cac206499ed..3e34cf148b7 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c index 44f65bffb20..2ce94c3cf47 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details" } */ #define N 1000 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c index 55d7e15aca7..b174874b882 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param max-unrolled-insns=1 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp index 3518de0590f..c6510060127 100644 --- a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp +++ b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008 +# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -39,6 +39,9 @@ lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" "-fvect-cost-model" global dg-do-what-default set save-dg-do-what-default ${dg-do-what-default} +if { ![check_effective_target_sse2] } then { + return +} lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c b/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c index 6eea84ae129..a2d36d3b083 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c +++ b/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c @@ -1,6 +1,7 @@ /* PR debug/41926 */ /* { dg-do compile } */ /* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ void foo (double (*__restrict p)[4], double (*__restrict q)[4], diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp index 56e599fbf98..f6e50d27dbd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect.exp +++ b/gcc/testsuite/gcc.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008 +# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -67,6 +67,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.target/i386/20060512-1.c b/gcc/testsuite/gcc.target/i386/20060512-1.c index 8109f94b75c..ae432e79c08 100644 --- a/gcc/testsuite/gcc.target/i386/20060512-1.c +++ b/gcc/testsuite/gcc.target/i386/20060512-1.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-std=gnu99 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/20060512-3.c b/gcc/testsuite/gcc.target/i386/20060512-3.c index 847f0eb6d35..4b62b16602c 100644 --- a/gcc/testsuite/gcc.target/i386/20060512-3.c +++ b/gcc/testsuite/gcc.target/i386/20060512-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-std=gnu99 -msse2 -mstackrealign -mpreferred-stack-boundary=4" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/3dnow-1.c b/gcc/testsuite/gcc.target/i386/3dnow-1.c index de5a2c3f935..953dc2aef5c 100644 --- a/gcc/testsuite/gcc.target/i386/3dnow-1.c +++ b/gcc/testsuite/gcc.target/i386/3dnow-1.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -Werror-implicit-function-declaration -m3dnow" } */ /* Test that the intrinsics compile with optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnow-2.c b/gcc/testsuite/gcc.target/i386/3dnow-2.c index 4b4d7472265..84b85408750 100644 --- a/gcc/testsuite/gcc.target/i386/3dnow-2.c +++ b/gcc/testsuite/gcc.target/i386/3dnow-2.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O0 -Werror-implicit-function-declaration -m3dnow" } */ /* Test that the intrinsics compile without optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnowA-1.c b/gcc/testsuite/gcc.target/i386/3dnowA-1.c index 6d4f32532bc..e502dc98fbe 100644 --- a/gcc/testsuite/gcc.target/i386/3dnowA-1.c +++ b/gcc/testsuite/gcc.target/i386/3dnowA-1.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */ /* Test that the intrinsics compile with optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnowA-2.c b/gcc/testsuite/gcc.target/i386/3dnowA-2.c index 0a30d61c9e6..8475094abbe 100644 --- a/gcc/testsuite/gcc.target/i386/3dnowA-2.c +++ b/gcc/testsuite/gcc.target/i386/3dnowA-2.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */ /* Test that the intrinsics compile without optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/all_one_m128i.c b/gcc/testsuite/gcc.target/i386/all_one_m128i.c index fa973e420ab..24d870fa37f 100644 --- a/gcc/testsuite/gcc.target/i386/all_one_m128i.c +++ b/gcc/testsuite/gcc.target/i386/all_one_m128i.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16))); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/float128-1.c b/gcc/testsuite/gcc.target/i386/float128-1.c index 9c6d22745f0..a435f63c1fa 100644 --- a/gcc/testsuite/gcc.target/i386/float128-1.c +++ b/gcc/testsuite/gcc.target/i386/float128-1.c @@ -1,5 +1,6 @@ /* { dg-do run { target *-*-linux* } } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/float128-2.c b/gcc/testsuite/gcc.target/i386/float128-2.c index 94408d2ef35..6f9dd97fdf0 100644 --- a/gcc/testsuite/gcc.target/i386/float128-2.c +++ b/gcc/testsuite/gcc.target/i386/float128-2.c @@ -2,6 +2,7 @@ /* { dg-do run { target *-*-linux* *-*-darwin* } } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-1.c b/gcc/testsuite/gcc.target/i386/fpcvt-1.c index 1c3b9b83453..5f09aedc53e 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-1.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ float a,b; main() diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-2.c b/gcc/testsuite/gcc.target/i386/fpcvt-2.c index 066d84365ed..317aa13b887 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-2.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ float a,b; main() diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-3.c b/gcc/testsuite/gcc.target/i386/fpcvt-3.c index 569d21a5aa7..70377c3d627 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-3.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ extern double fabs (double); float a,b; diff --git a/gcc/testsuite/gcc.target/i386/fpprec-1.c b/gcc/testsuite/gcc.target/i386/fpprec-1.c index 0174e7c6c32..1c17c1d10a0 100644 --- a/gcc/testsuite/gcc.target/i386/fpprec-1.c +++ b/gcc/testsuite/gcc.target/i386/fpprec-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/funcspec-9.c b/gcc/testsuite/gcc.target/i386/funcspec-9.c index 78714e12417..1c05f134ab5 100644 --- a/gcc/testsuite/gcc.target/i386/funcspec-9.c +++ b/gcc/testsuite/gcc.target/i386/funcspec-9.c @@ -1,6 +1,7 @@ /* Test whether using target specific options, we can generate FMA4 code. */ /* { dg-do compile } */ /* { dg-options "-O2 -march=k8 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/i386.exp b/gcc/testsuite/gcc.target/i386/i386.exp index 85c6e042dc6..622fbf8ee21 100644 --- a/gcc/testsuite/gcc.target/i386/i386.exp +++ b/gcc/testsuite/gcc.target/i386/i386.exp @@ -37,6 +37,29 @@ proc check_effective_target_ms_hook_prologue { } { } } +# Return 1 if 3dnow instructions can be compiled. +proc check_effective_target_3dnow { } { + return [check_no_compiler_messages 3dnow object { + void _m_pfadd (void) + { + __builtin_ia32_pfadd(); + } + } "-O2 -m3dnow" ] +} + +# Return 1 if sse3 instructions can be compiled. +proc check_effective_target_sse3 { } { + return [check_no_compiler_messages sse3 object { + typedef double __m128d __attribute__ ((__vector_size__ (16))); + typedef double __v2df __attribute__ ((__vector_size__ (16))); + + __m128d _mm_addsub_pd (__m128d __X, __m128d __Y) + { + return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y); + } + } "-O2 -msse3" ] +} + # Return 1 if ssse3 instructions can be compiled. proc check_effective_target_ssse3 { } { return [check_no_compiler_messages ssse3 object { diff --git a/gcc/testsuite/gcc.target/i386/incoming-1.c b/gcc/testsuite/gcc.target/i386/incoming-1.c index 86e98a79b47..9129ad00e17 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-1.c +++ b/gcc/testsuite/gcc.target/i386/incoming-1.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-12.c b/gcc/testsuite/gcc.target/i386/incoming-12.c index d7ef1038bb5..b6bfa418d90 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-12.c +++ b/gcc/testsuite/gcc.target/i386/incoming-12.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-2.c b/gcc/testsuite/gcc.target/i386/incoming-2.c index 2947d3347cd..18451669612 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-2.c +++ b/gcc/testsuite/gcc.target/i386/incoming-2.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-3.c b/gcc/testsuite/gcc.target/i386/incoming-3.c index 1edbfda0b39..bb9653a4067 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-3.c +++ b/gcc/testsuite/gcc.target/i386/incoming-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-4.c b/gcc/testsuite/gcc.target/i386/incoming-4.c index 80c169c2469..e1d1b751e7b 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-4.c +++ b/gcc/testsuite/gcc.target/i386/incoming-4.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-6.c b/gcc/testsuite/gcc.target/i386/incoming-6.c index 5cc4ab3f766..f6b64b7abd2 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-6.c +++ b/gcc/testsuite/gcc.target/i386/incoming-6.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-7.c b/gcc/testsuite/gcc.target/i386/incoming-7.c index cdd60379683..fb5380490d6 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-7.c +++ b/gcc/testsuite/gcc.target/i386/incoming-7.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-8.c b/gcc/testsuite/gcc.target/i386/incoming-8.c index 2dd8800fd6c..0f27af72078 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-8.c +++ b/gcc/testsuite/gcc.target/i386/incoming-8.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O3 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ float foo (float f) diff --git a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp index 9b97ccb1b38..a0e7b8d1eaa 100644 --- a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp +++ b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -18,6 +18,8 @@ # This harness is for tests that should be run at all optimisation levels. +load_lib target-supports.exp + # Exit immediately if this isn't a x86 target. if { ![istarget i?86*-*-*] && ![istarget x86_64-*-*] } then { return @@ -27,27 +29,31 @@ set MATH_TORTURE_OPTIONS [list \ { -O0 } \ { -O0 -mfpmath=387 } \ { -O0 -msse -mno-sse2 -mfpmath=sse } \ - { -O0 -msse -msse2 -mfpmath=sse } \ { -O0 -msse -mno-sse2 -mfpmath=sse,387 } \ - { -O0 -msse -msse2 -mfpmath=sse,387 } \ { -O0 -mfpmath=387 -ffast-math } \ { -O0 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ - { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \ { -O0 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ - { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ { -O2 } \ { -O2 -mfpmath=387 } \ { -O2 -msse -mno-sse2 -mfpmath=sse } \ - { -O2 -msse -msse2 -mfpmath=sse } \ { -O2 -msse -mno-sse2 -mfpmath=sse,387 } \ - { -O2 -msse -msse2 -mfpmath=sse,387 } \ { -O2 -mfpmath=387 -ffast-math } \ { -O2 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ - { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \ { -O2 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ - { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ ] +if { [check_effective_target_sse2] } { + lappend MATH_TORTURE_OPTIONS \ + { -O0 -msse -msse2 -mfpmath=sse } \ + { -O0 -msse -msse2 -mfpmath=sse,387 } \ + { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse } \ + { -O2 -msse -msse2 -mfpmath=sse,387 } \ + { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ +} + load_lib gcc-dg.exp load_lib torture-options.exp diff --git a/gcc/testsuite/gcc.target/i386/opt-1.c b/gcc/testsuite/gcc.target/i386/opt-1.c index 28e2ef38c34..74d3e8d1046 100644 --- a/gcc/testsuite/gcc.target/i386/opt-1.c +++ b/gcc/testsuite/gcc.target/i386/opt-1.c @@ -2,6 +2,7 @@ whether we vectorize a simple loop. */ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "prefetcht0" } } */ /* { dg-final { scan-assembler "addps" } } */ /* { dg-final { scan-assembler "subss" } } */ diff --git a/gcc/testsuite/gcc.target/i386/opt-2.c b/gcc/testsuite/gcc.target/i386/opt-2.c index d2791e071c3..d247d71fc23 100644 --- a/gcc/testsuite/gcc.target/i386/opt-2.c +++ b/gcc/testsuite/gcc.target/i386/opt-2.c @@ -2,6 +2,7 @@ whether we vectorize a simple loop. */ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "prefetcht0" } } */ /* { dg-final { scan-assembler "addps" } } */ /* { dg-final { scan-assembler "subss" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ordcmp-1.c b/gcc/testsuite/gcc.target/i386/ordcmp-1.c index a136182aca9..9be97e52b91 100644 --- a/gcc/testsuite/gcc.target/i386/ordcmp-1.c +++ b/gcc/testsuite/gcc.target/i386/ordcmp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "cmpordss" } } */ /* { dg-final { scan-assembler "cmpordps" } } */ /* { dg-final { scan-assembler "cmpordsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr17692.c b/gcc/testsuite/gcc.target/i386/pr17692.c index a837386a3f9..f8aed82750f 100644 --- a/gcc/testsuite/gcc.target/i386/pr17692.c +++ b/gcc/testsuite/gcc.target/i386/pr17692.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* The fact that t1 and t2 are uninitialized is critical. With them uninitialized, the register allocator is free to put them in the same hard register, which results in diff --git a/gcc/testsuite/gcc.target/i386/pr18614-1.c b/gcc/testsuite/gcc.target/i386/pr18614-1.c index 1a499753760..6e16616cae6 100644 --- a/gcc/testsuite/gcc.target/i386/pr18614-1.c +++ b/gcc/testsuite/gcc.target/i386/pr18614-1.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/18614 */ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef double v2df __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c index d12597703ea..4dce76cc947 100644 --- a/gcc/testsuite/gcc.target/i386/pr22152.c +++ b/gcc/testsuite/gcc.target/i386/pr22152.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr23570.c b/gcc/testsuite/gcc.target/i386/pr23570.c index 1542663fa22..f220a8cb80d 100644 --- a/gcc/testsuite/gcc.target/i386/pr23570.c +++ b/gcc/testsuite/gcc.target/i386/pr23570.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __v4sf __attribute__ ((__vector_size__ (16))); typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr23575.c b/gcc/testsuite/gcc.target/i386/pr23575.c index 522226ef7a2..1b0ec7f88c3 100644 --- a/gcc/testsuite/gcc.target/i386/pr23575.c +++ b/gcc/testsuite/gcc.target/i386/pr23575.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ +/* { dg-require-effective-target sse2 } */ /* We used to ICE because of a bogous pattern. */ diff --git a/gcc/testsuite/gcc.target/i386/pr26449-1.c b/gcc/testsuite/gcc.target/i386/pr26449-1.c index b4ef7804887..e83375d6d0f 100644 --- a/gcc/testsuite/gcc.target/i386/pr26449-1.c +++ b/gcc/testsuite/gcc.target/i386/pr26449-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mtune=k8" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr26600.c b/gcc/testsuite/gcc.target/i386/pr26600.c index bbe0663da7e..61941de70e4 100644 --- a/gcc/testsuite/gcc.target/i386/pr26600.c +++ b/gcc/testsuite/gcc.target/i386/pr26600.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ void foo(int *p, int N) { diff --git a/gcc/testsuite/gcc.target/i386/pr27790.c b/gcc/testsuite/gcc.target/i386/pr27790.c index e8986c4158a..4c5cdb6dc74 100644 --- a/gcc/testsuite/gcc.target/i386/pr27790.c +++ b/gcc/testsuite/gcc.target/i386/pr27790.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ void binarize (int npixels, unsigned char *b) { diff --git a/gcc/testsuite/gcc.target/i386/pr28839.c b/gcc/testsuite/gcc.target/i386/pr28839.c index 6a215164c58..ccb715d7478 100644 --- a/gcc/testsuite/gcc.target/i386/pr28839.c +++ b/gcc/testsuite/gcc.target/i386/pr28839.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -funswitch-loops" } */ +/* { dg-require-effective-target sse2 } */ static int ready[10]; void abort (void); diff --git a/gcc/testsuite/gcc.target/i386/pr30970.c b/gcc/testsuite/gcc.target/i386/pr30970.c index 96d64e5a962..25f773915f8 100644 --- a/gcc/testsuite/gcc.target/i386/pr30970.c +++ b/gcc/testsuite/gcc.target/i386/pr30970.c @@ -1,5 +1,6 @@ /* { dg-do compile } /* { dg-options "-msse2 -O2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #define N 256 int b[N]; diff --git a/gcc/testsuite/gcc.target/i386/pr32000-1.c b/gcc/testsuite/gcc.target/i386/pr32000-1.c index 483d24a763a..9c7bfa24b38 100644 --- a/gcc/testsuite/gcc.target/i386/pr32000-1.c +++ b/gcc/testsuite/gcc.target/i386/pr32000-1.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target dfp } */ /* { dg-options "-O -msse2 -std=gnu99" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr32000-2.c b/gcc/testsuite/gcc.target/i386/pr32000-2.c index 6effafc6009..6f1056099c6 100644 --- a/gcc/testsuite/gcc.target/i386/pr32000-2.c +++ b/gcc/testsuite/gcc.target/i386/pr32000-2.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-skip-if "" { ! { ilp32 && dfp } } { "*" } { "" } } */ /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr32280.c b/gcc/testsuite/gcc.target/i386/pr32280.c index d48a635a4b8..49865ea4ba6 100644 --- a/gcc/testsuite/gcc.target/i386/pr32280.c +++ b/gcc/testsuite/gcc.target/i386/pr32280.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32661.c b/gcc/testsuite/gcc.target/i386/pr32661.c index 247ae131923..2eb1544e336 100644 --- a/gcc/testsuite/gcc.target/i386/pr32661.c +++ b/gcc/testsuite/gcc.target/i386/pr32661.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef int __v4si __attribute__ ((__vector_size__ (16))); typedef float __v4sf __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32708-1.c b/gcc/testsuite/gcc.target/i386/pr32708-1.c index c5308937bb0..5200f3f6547 100644 --- a/gcc/testsuite/gcc.target/i386/pr32708-1.c +++ b/gcc/testsuite/gcc.target/i386/pr32708-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __v2di __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32961.c b/gcc/testsuite/gcc.target/i386/pr32961.c index a2326289af9..8b513623111 100644 --- a/gcc/testsuite/gcc.target/i386/pr32961.c +++ b/gcc/testsuite/gcc.target/i386/pr32961.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr33329.c b/gcc/testsuite/gcc.target/i386/pr33329.c index bb589ee2780..e8036082cf1 100644 --- a/gcc/testsuite/gcc.target/i386/pr33329.c +++ b/gcc/testsuite/gcc.target/i386/pr33329.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ extern void g (int *); diff --git a/gcc/testsuite/gcc.target/i386/pr35714.c b/gcc/testsuite/gcc.target/i386/pr35714.c index 13ca47c23a3..d5d2755ed07 100644 --- a/gcc/testsuite/gcc.target/i386/pr35714.c +++ b/gcc/testsuite/gcc.target/i386/pr35714.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1.c b/gcc/testsuite/gcc.target/i386/pr35767-1.c index 5ed5b858866..0945e19bab5 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1d.c b/gcc/testsuite/gcc.target/i386/pr35767-1d.c index cdf17fa61b3..fa7d73f6e3d 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1d.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1d.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1i.c b/gcc/testsuite/gcc.target/i386/pr35767-1i.c index 188e8e737bd..b7620480231 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1i.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1i.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2.c b/gcc/testsuite/gcc.target/i386/pr35767-2.c index 82062ff9ee7..5457c48112b 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2d.c b/gcc/testsuite/gcc.target/i386/pr35767-2d.c index ae96cd852d0..cb9d74190b6 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2d.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2d.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2i.c b/gcc/testsuite/gcc.target/i386/pr35767-2i.c index d241644b62b..f2dede9e7b7 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2i.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2i.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-3.c b/gcc/testsuite/gcc.target/i386/pr35767-3.c index e7592ff7bcb..19162cfe256 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-3.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target dfp } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O -msse2 -std=gnu99" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-5.c b/gcc/testsuite/gcc.target/i386/pr35767-5.c index 4372d2e5746..9f533033b71 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-5.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-5.c @@ -1,6 +1,7 @@ /* Test that we generate aligned load when memory is aligned. */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler "movaps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr36222-1.c b/gcc/testsuite/gcc.target/i386/pr36222-1.c index 2d4c5b9b76c..647e1039619 100644 --- a/gcc/testsuite/gcc.target/i386/pr36222-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36222-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr36578-1.c b/gcc/testsuite/gcc.target/i386/pr36578-1.c index cae0d708837..49999351f0a 100644 --- a/gcc/testsuite/gcc.target/i386/pr36578-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36578-1.c @@ -1,6 +1,7 @@ /* Test for unsafe floating-point conversions. PR 36578. */ /* { dg-do run } */ /* { dg-options "-msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr36578-2.c b/gcc/testsuite/gcc.target/i386/pr36578-2.c index 19143cfe5ba..5d6556f5576 100644 --- a/gcc/testsuite/gcc.target/i386/pr36578-2.c +++ b/gcc/testsuite/gcc.target/i386/pr36578-2.c @@ -1,6 +1,7 @@ /* Test for unsafe floating-point conversions. */ /* { dg-do run } */ /* { dg-options "-msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr36992-1.c b/gcc/testsuite/gcc.target/i386/pr36992-1.c index 7cd24cccf3e..017616bcc5b 100644 --- a/gcc/testsuite/gcc.target/i386/pr36992-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36992-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr37101.c b/gcc/testsuite/gcc.target/i386/pr37101.c index 8fd3bfc5f85..69b913c4103 100644 --- a/gcc/testsuite/gcc.target/i386/pr37101.c +++ b/gcc/testsuite/gcc.target/i386/pr37101.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -march=nocona" } */ +/* { dg-require-effective-target sse2 } */ typedef __SIZE_TYPE__ size_t; extern void *malloc (size_t); diff --git a/gcc/testsuite/gcc.target/i386/pr37216.c b/gcc/testsuite/gcc.target/i386/pr37216.c index 5c847a70cfb..05eb2eea77f 100644 --- a/gcc/testsuite/gcc.target/i386/pr37216.c +++ b/gcc/testsuite/gcc.target/i386/pr37216.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O3 -msse2" } */ /* { dg-options "-O3 -msse2 -mpe-aligned-commons" { target pe_aligned_commons } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr37434-1.c b/gcc/testsuite/gcc.target/i386/pr37434-1.c index b556bf0848e..00ed55e3234 100644 --- a/gcc/testsuite/gcc.target/i386/pr37434-1.c +++ b/gcc/testsuite/gcc.target/i386/pr37434-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr37434-2.c b/gcc/testsuite/gcc.target/i386/pr37434-2.c index 00ff9fd2e6c..b92d52100da 100644 --- a/gcc/testsuite/gcc.target/i386/pr37434-2.c +++ b/gcc/testsuite/gcc.target/i386/pr37434-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr37843-3.c b/gcc/testsuite/gcc.target/i386/pr37843-3.c index 15d05c1b4c3..ed6478ee57a 100644 --- a/gcc/testsuite/gcc.target/i386/pr37843-3.c +++ b/gcc/testsuite/gcc.target/i386/pr37843-3.c @@ -1,6 +1,7 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ilp32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*_?foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*_?foo" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr37843-4.c b/gcc/testsuite/gcc.target/i386/pr37843-4.c index 8e5f51f9d8b..f5e024cc425 100644 --- a/gcc/testsuite/gcc.target/i386/pr37843-4.c +++ b/gcc/testsuite/gcc.target/i386/pr37843-4.c @@ -1,6 +1,7 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ilp32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*foo" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39162.c b/gcc/testsuite/gcc.target/i386/pr39162.c index 2d114b8fd00..1a5e3e7aab0 100644 --- a/gcc/testsuite/gcc.target/i386/pr39162.c +++ b/gcc/testsuite/gcc.target/i386/pr39162.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mno-avx" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__)); diff --git a/gcc/testsuite/gcc.target/i386/pr39315-1.c b/gcc/testsuite/gcc.target/i386/pr39315-1.c index 16ba5d59fe4..9f4d484639f 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-1.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-1.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler-not "movlps" } } */ /* { dg-final { scan-assembler-not "movhps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39315-2.c b/gcc/testsuite/gcc.target/i386/pr39315-2.c index ab3dcd0d24a..5363e97509b 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-2.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-2.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do run } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-additional-sources pr39315-check.c } */ typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr39315-3.c b/gcc/testsuite/gcc.target/i386/pr39315-3.c index 07862db603a..38ea7aed745 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-3.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-3.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler-not "movlps" } } */ /* { dg-final { scan-assembler-not "movhps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39315-4.c b/gcc/testsuite/gcc.target/i386/pr39315-4.c index 2e55c251b03..4a62a1d51b9 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-4.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-4.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do run } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-additional-sources pr39315-check.c } */ typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr39445.c b/gcc/testsuite/gcc.target/i386/pr39445.c index 6f0295bc1e0..48e2d39a6f4 100644 --- a/gcc/testsuite/gcc.target/i386/pr39445.c +++ b/gcc/testsuite/gcc.target/i386/pr39445.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr39496.c b/gcc/testsuite/gcc.target/i386/pr39496.c index e4132a1165b..bdaca2e55a8 100644 --- a/gcc/testsuite/gcc.target/i386/pr39496.c +++ b/gcc/testsuite/gcc.target/i386/pr39496.c @@ -1,6 +1,7 @@ /* PR target/39496 */ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */ /* { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* Verify that {foo,bar}{,2}param are all passed on the stack, using normal calling conventions, when not optimizing. */ /* { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr40809.c b/gcc/testsuite/gcc.target/i386/pr40809.c index 979b5315476..8b63e552649 100644 --- a/gcc/testsuite/gcc.target/i386/pr40809.c +++ b/gcc/testsuite/gcc.target/i386/pr40809.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr40906-3.c b/gcc/testsuite/gcc.target/i386/pr40906-3.c index b639b62996c..e976805e441 100644 --- a/gcc/testsuite/gcc.target/i386/pr40906-3.c +++ b/gcc/testsuite/gcc.target/i386/pr40906-3.c @@ -1,5 +1,6 @@ /* { dg-do run { target *-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr41019.c b/gcc/testsuite/gcc.target/i386/pr41019.c index c0021c6a450..a6a2f4ee216 100644 --- a/gcc/testsuite/gcc.target/i386/pr41019.c +++ b/gcc/testsuite/gcc.target/i386/pr41019.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-1.c b/gcc/testsuite/gcc.target/i386/pr42542-1.c index 60da8ee1501..761b91b182d 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-1.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-2.c b/gcc/testsuite/gcc.target/i386/pr42542-2.c index fc59534d906..80ed9c35ba5 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-2.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3.c b/gcc/testsuite/gcc.target/i386/pr42542-3.c index 028d2f89964..372f2c1e136 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-3.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3a.c b/gcc/testsuite/gcc.target/i386/pr42542-3a.c index 754e59e8487..89c9ed4945b 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-3a.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-3a.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #include "pr42542-3.c" diff --git a/gcc/testsuite/gcc.target/i386/pr42549.c b/gcc/testsuite/gcc.target/i386/pr42549.c index 0a9bfa84f99..733853cdc3e 100644 --- a/gcc/testsuite/gcc.target/i386/pr42549.c +++ b/gcc/testsuite/gcc.target/i386/pr42549.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -m3dnow" } */ #include "mmx-3dnow-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42881.c b/gcc/testsuite/gcc.target/i386/pr42881.c index 1be307b9709..c8ad09d207b 100644 --- a/gcc/testsuite/gcc.target/i386/pr42881.c +++ b/gcc/testsuite/gcc.target/i386/pr42881.c @@ -1,6 +1,8 @@ /* PR target/42881 */ /* { dg-do run } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ + #include "sse2-check.h" static void sse2_test (void) diff --git a/gcc/testsuite/gcc.target/i386/push-1.c b/gcc/testsuite/gcc.target/i386/push-1.c index 09464bf9229..797ad575dd1 100644 --- a/gcc/testsuite/gcc.target/i386/push-1.c +++ b/gcc/testsuite/gcc.target/i386/push-1.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-w -msse2 -Os" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.target/i386/quad-sse.c b/gcc/testsuite/gcc.target/i386/quad-sse.c index 4b6fe792575..8c594452618 100644 --- a/gcc/testsuite/gcc.target/i386/quad-sse.c +++ b/gcc/testsuite/gcc.target/i386/quad-sse.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ __float128 x, y; diff --git a/gcc/testsuite/gcc.target/i386/reload-1.c b/gcc/testsuite/gcc.target/i386/reload-1.c index f8075acaed4..299871585e2 100644 --- a/gcc/testsuite/gcc.target/i386/reload-1.c +++ b/gcc/testsuite/gcc.target/i386/reload-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */ /* { dg-skip-if "no stdint" { vxworks_kernel } } */ diff --git a/gcc/testsuite/gcc.target/i386/sse-10.c b/gcc/testsuite/gcc.target/i386/sse-10.c index 5cf0714f07b..798551db2aa 100644 --- a/gcc/testsuite/gcc.target/i386/sse-10.c +++ b/gcc/testsuite/gcc.target/i386/sse-10.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" { target *-*-mingw* *-*-cygwin* } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-11.c b/gcc/testsuite/gcc.target/i386/sse-11.c index 3745dbf7f60..c764c0be518 100644 --- a/gcc/testsuite/gcc.target/i386/sse-11.c +++ b/gcc/testsuite/gcc.target/i386/sse-11.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/21239 */ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-15.c b/gcc/testsuite/gcc.target/i386/sse-15.c index 5a1da7a755f..ed91ee65d38 100644 --- a/gcc/testsuite/gcc.target/i386/sse-15.c +++ b/gcc/testsuite/gcc.target/i386/sse-15.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* Test that the intrinsics compile with optimization. These were not tested in i386-sse-[12].c because these builtins require immediate diff --git a/gcc/testsuite/gcc.target/i386/sse-17.c b/gcc/testsuite/gcc.target/i386/sse-17.c index f7b3d0d1c27..3386a3b5857 100644 --- a/gcc/testsuite/gcc.target/i386/sse-17.c +++ b/gcc/testsuite/gcc.target/i386/sse-17.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include extern void abort(); diff --git a/gcc/testsuite/gcc.target/i386/sse-18.c b/gcc/testsuite/gcc.target/i386/sse-18.c index fc0224f8f6d..6a1352b828e 100644 --- a/gcc/testsuite/gcc.target/i386/sse-18.c +++ b/gcc/testsuite/gcc.target/i386/sse-18.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O3 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-19.c b/gcc/testsuite/gcc.target/i386/sse-19.c index 43c090bd4e1..112c3e1cfad 100644 --- a/gcc/testsuite/gcc.target/i386/sse-19.c +++ b/gcc/testsuite/gcc.target/i386/sse-19.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O3 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "punpcklbw" } } */ extern void abort(); #include diff --git a/gcc/testsuite/gcc.target/i386/sse-4.c b/gcc/testsuite/gcc.target/i386/sse-4.c index 394ad9d7ec4..5d49884ab85 100644 --- a/gcc/testsuite/gcc.target/i386/sse-4.c +++ b/gcc/testsuite/gcc.target/i386/sse-4.c @@ -1,6 +1,7 @@ /* This testcase caused a buffer overflow in simplify_immed_subreg. */ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse-6.c b/gcc/testsuite/gcc.target/i386/sse-6.c index 930b23f1f73..77131d40d07 100644 --- a/gcc/testsuite/gcc.target/i386/sse-6.c +++ b/gcc/testsuite/gcc.target/i386/sse-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-vect-types.c b/gcc/testsuite/gcc.target/i386/sse-vect-types.c index 9cb6f3e07cd..2658f020eff 100644 --- a/gcc/testsuite/gcc.target/i386/sse-vect-types.c +++ b/gcc/testsuite/gcc.target/i386/sse-vect-types.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c index 2c1e81d857b..99ff02f1bb1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c index d81b1bb929e..2297539f5fd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c index 36b3c3194ab..0250d6be10e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c index 90902bfcd94..9f037ab5fb0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c index 224a609ad29..953f220d1b1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -std=c99" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c index e8478d9ad08..7229906b0cd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c index f18cf1617f7..03b5b9eab5f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c index 6bd88552766..720c63e24ee 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c index cf377c490df..e33ec712787 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c index dd2127bc3d2..e41ee0c1f96 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c index 13371172ace..9d32b7ad1c8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c b/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c index 710aa640fd0..5726448d76c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c index 5640e398f77..9d85f5cacdc 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c index a8839a4c537..4b2965e6d64 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c index f25290c2e4e..ebcf1539b30 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c index 365d5e70463..15c8188cdd8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c index 68c2a996da8..e4dcd11fe90 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c index 16093ef4f0a..cdc6051d8da 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c index 75770eeb1b9..9c5a0e2b909 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c index dfc543f19d1..908e82f43e6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c index ae0b2c353a7..6f8a7a7b307 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c index 12ca895fc9f..cda223ce5d1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c index 29d6d86a6bf..7035c4e6def 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c index e8172d38ec4..eda870d4fd9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c index 93dd62493d0..eebc2595050 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c index 1c963a10e5e..d80a1a9ecc3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c index a87ec1a1315..d04d6d42098 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c index ec0fe20eefe..0284a731b05 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c index cc4f9d11678..2cf160c9ebf 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c index e8b9e8c4c87..fb72320d85d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c index 903a5ad7490..6528800462d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c index 7dc80a320ed..ef1863c57dc 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c index 71e27be6080..bcb94055c41 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c index 3874b2ed526..62734820d95 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c b/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c index 5276c7edd39..43797f70782 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c b/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c index 43037a57726..eaec22cb3a3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c index 3ca51a2c3c9..f6360c7694f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c index e2c6829f2eb..24377cc25dd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c index 9ec53e22c52..e64091e19b4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c index 50dc124b451..3c34d98b9a7 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mmx.c b/gcc/testsuite/gcc.target/i386/sse2-mmx.c index ca375cb90d9..fb226a8e8f3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mmx.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mmx.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c index 0a047dd93fd..b8b9dba0c20 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c index decfd22b5b9..8298551baf5 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movd-1.c index 2475bbc354b..67f0a87eaea 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movd-2.c index f986e6e2558..a12787b7a45 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c b/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c index cf95b629b50..7599b0523cc 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c b/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c index 7bf49dcffa9..ff6c91fda0b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c b/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c index c24e128f48c..0688dd9b08b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c b/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c index 9ab0195e596..20e79eac6f1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c index 82e7671bc5c..e906cbc2f37 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c index 335c89810b6..e86259acb84 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c index 548f2e6254b..9e7432b355d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c index d63aedf0614..1bbb7412388 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c index cef6f8d72af..6a865fe751a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c index d36eaef488c..4435ad8063d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c index edcb90c7b23..204174ecf3f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-1.c b/gcc/testsuite/gcc.target/i386/sse2-movq-1.c index 9d22df95744..718b51a412c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c index 1b4c02a9c98..edf16f4a896 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c index 3538bd3ad47..571fd6db0f9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c index 98f9987cfd0..14342ea8686 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c index e6e83d10b91..f1958f09d1d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c index f9bf5851f21..6533b4c4b18 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c index b5c59b8c524..c66e70c4ddd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c index c87e9e20de6..737730e6fe9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c index 1b665733e81..777b439f1be 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c index 4eaa70a76e0..1d88474aac9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c b/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c index a6103261dc4..187b880db57 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c b/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c index 76532fb32ea..3643a8ac8d2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c b/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c index d176ac0a692..6fd00ae6e33 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c index d9414ca07be..faea05cfcfa 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c index c2d9b048a94..0c910c8cfb6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c index 4867cb42e2d..1363978180b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c index bb3bafcf502..6b2195e666e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c index 885ed26098d..5fec2f2a46b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c index ee1f038694a..807287e27b8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c index 449d141566e..90a226950ea 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c index db1664fbe7a..3ed73299be9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pand-1.c b/gcc/testsuite/gcc.target/i386/sse2-pand-1.c index cab3c1fc945..a6a1702d368 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pand-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pand-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c b/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c index 5a300c19877..d9c653fd508 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c index cb80431c510..98b48943741 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c index 341e5afacc3..4f9bf219950 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c index 240fa0dc1b7..7db34ba1572 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c index cb18d111984..d4018925fab 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c index e87e9b113ca..f3415831e34 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c index 916ec3c3333..34c74e8e6be 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c index bba5eae01a7..8d035363687 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c index bfa58a9b775..835ba365b51 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c index df1907a34e9..c26d02b3985 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c index b07fcb6b916..836f2c6d82a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c index e5eafc13226..6447aa30b11 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c index ad26ca95771..5c553d1b672 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c b/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c index 953f8dd8a8a..6c4598cc4f6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c index f1f5ff7568e..fce068c0939 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c index fd6a3d24514..f77ec6afd67 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c index 447b5ca295f..ac3838930e1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c index a68d0659dd3..38014b78861 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c index dac14ef5ce5..51540c143d7 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-por-1.c b/gcc/testsuite/gcc.target/i386/sse2-por-1.c index 7c332ed9ce1..a5a0183bbbd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-por-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-por-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c index c5fa0b22605..83e83cb164e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c index b106283aa25..b0f8834c87b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c index 4eec55d04aa..cfff7577d1c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c index 37496251c55..9915ca4ad1b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c b/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c index 4fbde24a5b5..31474e3234f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c b/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c index adef576e15d..17411415b0c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c index 3189106a448..2d4dc1b9eee 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c index cd916ebf3ea..a07cfc4da84 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c b/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c index b20e872ffe1..6792fd3253a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c index 1fc5aa406af..3153ec45529 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c index 22a54b6a95f..e3170405e63 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c index 37091ba8413..ea27439ae4b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c index dc24a0f27d2..0b8d5b88809 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c index 3e0d88f1649..49db1b2c64d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c index c3823ebee2d..8aa6681b322 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c index 0e5773167c2..d310fc45204 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c index 0270d927404..a5ddce1f39b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c index 75131916434..c4484bc3025 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c index 9c1ce5e873c..12ace377525 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c index 8c6594079ae..ee4fb0472ed 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c index e5375f735db..d51ee45bacd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c index dbe6a68e18f..0d4004c3e5a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c index a8d5b67ddec..a416f57a5b0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c index 296a261d3ab..9700a7791c0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c index fe8c0f43199..a31ec689cc3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c index d9cb1af5fac..88308cb108a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c index 85fdbeb427e..a0f4215388b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c index e2d8be50c6b..dbf08ade1ab 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c index f673b0b9dbc..33f30202de7 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c index 7fcef77842c..26689aa439a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c index 4cb60d719ba..4dbd46bdae2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c index 1ba04e16223..11fd91e2043 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c index 4e63885e3be..d3d5a71aab2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c index 1e7b44f1549..c24ee1ee5bc 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c index 4f84ca10d1c..ce9b885998d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c index 8ba26b3484a..6736186a01c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c b/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c index 7e06440a10a..c9d2b90b7af 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c index f4dac40fc99..c1f5d0f7434 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c index 67510b59c7e..ac32015a72c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c index 61f19cb2b49..cc0af7c9fff 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c index 918fa5c9155..01f2699b73b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c index 2c0227dd775..3c3ae26fb95 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c index cab461e3e38..e4231a4f7ee 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c index 816c19e20f8..b2a8778dbd3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c index 2b4a8be728d..2d500b7910c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c index b5103ac1d75..1afe68bcf5e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c index cffa4695c84..0a05680a480 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c b/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c index f1ef347612e..6095aaa2927 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c index 3a476cfa38e..edbf829e1c6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c index e8ac1b820c9..6a91e218a85 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c index d70c3f85584..954f81ad573 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c index deae8e70fc8..0bf8708f841 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c index 110f7cd4bff..fd566f059fd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c index 1e3a1a60a65..df9e09bce2b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c index 99c9aa2ada4..f65572a4f44 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c index 19a730a97b0..b08c4416b43 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c index dd5ed70e274..bb0bee57957 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c index a2676396cd3..ed067082594 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c index a682725d146..a07302c4bc6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c index 0e4a5cce9ff..3562edc6ffa 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-1.c b/gcc/testsuite/gcc.target/i386/sse2-vec-1.c index ba7e2e8958f..ab2ca5b221a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-2.c b/gcc/testsuite/gcc.target/i386/sse2-vec-2.c index c7586e14b44..6f5c514aa3c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-3.c b/gcc/testsuite/gcc.target/i386/sse2-vec-3.c index 545dbe0ba0f..fa18de5a990 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-4.c b/gcc/testsuite/gcc.target/i386/sse2-vec-4.c index 31e480659cc..0867e9ca885 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-5.c b/gcc/testsuite/gcc.target/i386/sse2-vec-5.c index 7ca45baa2d9..c676bbd3a02 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-6.c b/gcc/testsuite/gcc.target/i386/sse2-vec-6.c index ecd0b331da2..856c3e70cec 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c index 88cf0d3794c..669f5714922 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c b/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c index e82fa76c5a5..147a1ecb88d 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-addsubps.c b/gcc/testsuite/gcc.target/i386/sse3-addsubps.c index 091b58c8411..604c4049340 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-addsubps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-addsubps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-haddpd.c b/gcc/testsuite/gcc.target/i386/sse3-haddpd.c index 8750ddfe298..ae4f94a93f9 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-haddpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-haddpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-haddps.c b/gcc/testsuite/gcc.target/i386/sse3-haddps.c index dcb0a7c58c8..e944eab6618 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-haddps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-haddps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c b/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c index 77018f5740f..37bd60c3930 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-hsubps.c b/gcc/testsuite/gcc.target/i386/sse3-hsubps.c index 326adfd045d..1980638de17 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-hsubps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-hsubps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-lddqu.c b/gcc/testsuite/gcc.target/i386/sse3-lddqu.c index 5df19a62af6..700bd571d07 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-lddqu.c +++ b/gcc/testsuite/gcc.target/i386/sse3-lddqu.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movddup.c b/gcc/testsuite/gcc.target/i386/sse3-movddup.c index 2eb33ad49c7..cbf32066628 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movddup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movddup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movshdup.c b/gcc/testsuite/gcc.target/i386/sse3-movshdup.c index 8f6706cf939..0d30ccb5b7c 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movshdup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movshdup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movsldup.c b/gcc/testsuite/gcc.target/i386/sse3-movsldup.c index 9ae8454e0a5..1ef2dd1b07f 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movsldup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movsldup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/ssefn-2.c b/gcc/testsuite/gcc.target/i386/ssefn-2.c index 09b920ea7ca..dfaacf6bdca 100644 --- a/gcc/testsuite/gcc.target/i386/ssefn-2.c +++ b/gcc/testsuite/gcc.target/i386/ssefn-2.c @@ -3,6 +3,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "movss" } } */ /* { dg-final { scan-assembler "mulss" } } */ /* { dg-final { scan-assembler "movsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssefn-4.c b/gcc/testsuite/gcc.target/i386/ssefn-4.c index eacdfa79392..2d7407eaef8 100644 --- a/gcc/testsuite/gcc.target/i386/ssefn-4.c +++ b/gcc/testsuite/gcc.target/i386/ssefn-4.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/ssefp-1.c b/gcc/testsuite/gcc.target/i386/ssefp-1.c index 621e362f490..fdce233173b 100644 --- a/gcc/testsuite/gcc.target/i386/ssefp-1.c +++ b/gcc/testsuite/gcc.target/i386/ssefp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "maxsd" } } */ /* { dg-final { scan-assembler "minsd" } } */ double x; diff --git a/gcc/testsuite/gcc.target/i386/ssefp-2.c b/gcc/testsuite/gcc.target/i386/ssefp-2.c index a6caee398b2..0b8b72262b5 100644 --- a/gcc/testsuite/gcc.target/i386/ssefp-2.c +++ b/gcc/testsuite/gcc.target/i386/ssefp-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "maxsd" } } */ /* { dg-final { scan-assembler "minsd" } } */ double x; diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-3.c b/gcc/testsuite/gcc.target/i386/sseregparm-3.c index 9ee82af44ae..7475e4f827f 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-3.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-3.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-4.c b/gcc/testsuite/gcc.target/i386/sseregparm-4.c index a29cf06bf5c..b8fc521264e 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-4.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-4.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-5.c b/gcc/testsuite/gcc.target/i386/sseregparm-5.c index 7423722d694..fa41a2c87b9 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-5.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-5.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-6.c b/gcc/testsuite/gcc.target/i386/sseregparm-6.c index 6203b6b5971..d0358c5e693 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-6.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-6.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-7.c b/gcc/testsuite/gcc.target/i386/sseregparm-7.c index 61267df9853..99953b5aa9c 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-7.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-7.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-1.c b/gcc/testsuite/gcc.target/i386/ssetype-1.c index ef89059b8d8..00ea2857484 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-1.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-1.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "andpd\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "andnpd\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-2.c b/gcc/testsuite/gcc.target/i386/ssetype-2.c index b68a63923fb..c6a8ba7b548 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-2.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "andpd" } } */ /* { dg-final { scan-assembler "andnpd" } } */ /* { dg-final { scan-assembler "xorpd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-3.c b/gcc/testsuite/gcc.target/i386/ssetype-3.c index d6887d5cd20..0e83e28c468 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-3.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-3.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "andps\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "andnps\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-4.c b/gcc/testsuite/gcc.target/i386/ssetype-4.c index 9994b07f21c..9b68792390d 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-4.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "andps" } } */ /* { dg-final { scan-assembler "andnps" } } */ /* { dg-final { scan-assembler "xorps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-5.c b/gcc/testsuite/gcc.target/i386/ssetype-5.c index 75133e9fa68..098ed89ad66 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-5.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-5.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "pand\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "pandn\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/unordcmp-1.c b/gcc/testsuite/gcc.target/i386/unordcmp-1.c index 49d4b8e076a..85de4865d2f 100644 --- a/gcc/testsuite/gcc.target/i386/unordcmp-1.c +++ b/gcc/testsuite/gcc.target/i386/unordcmp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "cmpunordss" } } */ /* { dg-final { scan-assembler "cmpunordps" } } */ /* { dg-final { scan-assembler "cmpunordsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/vararg-1.c b/gcc/testsuite/gcc.target/i386/vararg-1.c index 1875e0a6973..cfb1e30ab07 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-1.c +++ b/gcc/testsuite/gcc.target/i386/vararg-1.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-w" { target { lp64 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-2.c b/gcc/testsuite/gcc.target/i386/vararg-2.c index 0534ac77478..60793173d6c 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-2.c +++ b/gcc/testsuite/gcc.target/i386/vararg-2.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-w" { target { lp64 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-3.c b/gcc/testsuite/gcc.target/i386/vararg-3.c index a6b5876f5db..3bfc3f14ce7 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-3.c +++ b/gcc/testsuite/gcc.target/i386/vararg-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-4.c b/gcc/testsuite/gcc.target/i386/vararg-4.c index e2f83b0c4a7..8034dcadba0 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-4.c +++ b/gcc/testsuite/gcc.target/i386/vararg-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-7.c b/gcc/testsuite/gcc.target/i386/vararg-7.c index bebf6092492..0f10d6784db 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-7.c +++ b/gcc/testsuite/gcc.target/i386/vararg-7.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-8.c b/gcc/testsuite/gcc.target/i386/vararg-8.c index bf6d3b52327..5c5a0b4a19d 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-8.c +++ b/gcc/testsuite/gcc.target/i386/vararg-8.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vecinit-1.c b/gcc/testsuite/gcc.target/i386/vecinit-1.c index 8553eb05e4c..cba7429f242 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-1.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) float a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-2.c b/gcc/testsuite/gcc.target/i386/vecinit-2.c index d6c715fd4f9..fdfa837c698 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-2.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) int a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-3.c b/gcc/testsuite/gcc.target/i386/vecinit-3.c index 053b566fbac..aae642ae27c 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-3.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) char a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-4.c b/gcc/testsuite/gcc.target/i386/vecinit-4.c index 773a3160062..101b68badc4 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-4.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) short a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-5.c b/gcc/testsuite/gcc.target/i386/vecinit-5.c index 57648897391..b9e7e27c78f 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-5.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-5.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) float a, b; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-6.c b/gcc/testsuite/gcc.target/i386/vecinit-6.c index ba58f12606a..3b22043273b 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-6.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-6.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) int a, b; diff --git a/gcc/testsuite/gcc.target/i386/vectorize2.c b/gcc/testsuite/gcc.target/i386/vectorize2.c index 41964871959..a7196c70d13 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize2.c +++ b/gcc/testsuite/gcc.target/i386/vectorize2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */ double a[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize3.c b/gcc/testsuite/gcc.target/i386/vectorize3.c index 2947acbafda..e19f8d87bda 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize3.c +++ b/gcc/testsuite/gcc.target/i386/vectorize3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */ float a[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize4.c b/gcc/testsuite/gcc.target/i386/vectorize4.c index f3d605e228a..9933d299729 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize4.c +++ b/gcc/testsuite/gcc.target/i386/vectorize4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 --param ggc-min-expand=0 --param ggc-min-heapsize=0" } */ /* This test, tests two thing, we vectorize square root and also we don't crash due to a GC issue. */ diff --git a/gcc/testsuite/gcc.target/i386/vectorize6.c b/gcc/testsuite/gcc.target/i386/vectorize6.c index 78ec53d15a8..41e61aa2ccd 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize6.c +++ b/gcc/testsuite/gcc.target/i386/vectorize6.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -mveclibabi=svml -ffast-math" } */ +/* { dg-require-effective-target sse2 } */ double x[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize7.c b/gcc/testsuite/gcc.target/i386/vectorize7.c index 10b7ba27868..eca043bdfa2 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize7.c +++ b/gcc/testsuite/gcc.target/i386/vectorize7.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ unsigned int a[256]; float b[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize8.c b/gcc/testsuite/gcc.target/i386/vectorize8.c index ed1517b93ef..e26362035ad 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize8.c +++ b/gcc/testsuite/gcc.target/i386/vectorize8.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ unsigned int a[256]; double b[256]; diff --git a/gcc/testsuite/gcc.target/i386/vperm-v2df.c b/gcc/testsuite/gcc.target/i386/vperm-v2df.c index f17e065e328..d0394635c59 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v2df.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v2df.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/vperm-v2di.c b/gcc/testsuite/gcc.target/i386/vperm-v2di.c index c6fe5611f66..940de68af19 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v2di.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v2di.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c b/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c index 663feb3f488..93c25c6826a 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/xorps-sse2.c b/gcc/testsuite/gcc.target/i386/xorps-sse2.c index 3c268b4cbaa..4d3994c88ef 100644 --- a/gcc/testsuite/gcc.target/i386/xorps-sse2.c +++ b/gcc/testsuite/gcc.target/i386/xorps-sse2.c @@ -1,6 +1,7 @@ /* Test that we generate xorps when the result is used in FP math. */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mno-sse3" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "xorps\[ \t\]" { xfail *-*-* } } } */ /* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.target/i386/xorps.c b/gcc/testsuite/gcc.target/i386/xorps.c index 6803a4d8916..bc2e97d76d6 100644 --- a/gcc/testsuite/gcc.target/i386/xorps.c +++ b/gcc/testsuite/gcc.target/i386/xorps.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 b/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 index c17446a6879..8c9d110b22a 100644 --- a/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 +++ b/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target ilp32 } +! { dg-require-effective-target sse2 } ! { dg-options "-O2 -floop-parallelize-all -fprefetch-loop-arrays -msse2" } subroutine phasad(t,i,ium) diff --git a/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 b/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 index d6939daf89a..06ef2b70673 100644 --- a/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 +++ b/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target ilp32 } +! { dg-require-effective-target sse2 } ! { dg-options "-O2 -floop-strip-mine -fprefetch-loop-arrays -msse2" } subroutine blts ( ldmx, ldmy, v, tmp1, i, j, k) diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f index cf47204e04e..8f196a69ad4 100644 --- a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f +++ b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target vect_double } +! { dg-require-effective-target sse2 } ! { dg-options "-O3 -ffast-math -msse2 -fpredictive-commoning -ftree-vectorize -fdump-tree-optimized" } diff --git a/gcc/testsuite/gfortran.dg/vect/vect.exp b/gcc/testsuite/gfortran.dg/vect/vect.exp index d818e7dcf4c..9f9ed22aef5 100644 --- a/gcc/testsuite/gfortran.dg/vect/vect.exp +++ b/gcc/testsuite/gfortran.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 1997, 2004, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -68,6 +68,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp index 811b4cfcaad..72ce9d682cd 100644 --- a/gcc/testsuite/lib/fortran-torture.exp +++ b/gcc/testsuite/lib/fortran-torture.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -45,6 +45,7 @@ proc get-fortran-torture-options { } { } elseif { [istarget "spu-*-*"] } { set test_tree_vectorize 1 } elseif { ( [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] ) + && [check_effective_target_sse2] && [check_sse2_hw_available] } { lappend vectorizer_options "-msse2" set test_tree_vectorize 1 diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp index 12631fafdfb..e742d750c76 100644 --- a/gcc/testsuite/lib/target-supports-dg.exp +++ b/gcc/testsuite/lib/target-supports-dg.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009 +# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -145,12 +145,23 @@ proc dg-require-named-sections { args } { } # If the target does not match the required effective target, skip this test. +# Only apply this if the optional selector matches. proc dg-require-effective-target { args } { set args [lreplace $args 0 0] - if { [llength $args] != 1 } { - error "syntax error, need a single effective-target keyword" + # Verify the number of arguments. The last is optional. + if { [llength $args] < 1 || [llength $args] > 2 } { + error "syntax error, need a single effective-target keyword with optional selector" } + + # Evaluate selector if present. + if { [llength $args] == 2 } { + switch [dg-process-target [lindex $args 1]] { + "S" { } + "N" { return } + } + } + if { ![is-effective-target [lindex $args 0]] } { upvar dg-do-what dg-do-what set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index e91c0331516..66413c6dd9b 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3152,6 +3152,18 @@ proc check_effective_target_avx { } { } "-O2 -mavx" ] } +# Return 1 if sse2 instructions can be compiled. +proc check_effective_target_sse2 { } { + return [check_no_compiler_messages sse2 object { + typedef long long __m128i __attribute__ ((__vector_size__ (16))); + + __m128i _mm_srli_si128 (__m128i __A, int __N) + { + return (__m128i)__builtin_ia32_psrldqi128 (__A, 8); + } + } "-O2 -msse2" ] +} + # Return 1 if C wchar_t type is compatible with char16_t. proc check_effective_target_wchar_t_char16_t_compatible { } { -- 2.30.2