aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2010-05-19 16:10:05 +0000
committerRainer Orth <ro@gcc.gnu.org>2010-05-19 16:10:05 +0000
commit40f1bdd962209529dff65187a9407656577b31b1 (patch)
treeec25547264e49bb670b7c7c3c6f4a30e32b58eef /gcc
parent817c299606addcce4e2b253a5ed3d462bc54c312 (diff)
downloadgcc-40f1bdd962209529dff65187a9407656577b31b1.zip
gcc-40f1bdd962209529dff65187a9407656577b31b1.tar.gz
gcc-40f1bdd962209529dff65187a9407656577b31b1.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/doc/sourcebuild.texi14
-rw-r--r--gcc/testsuite/ChangeLog353
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle42.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/attrib35.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr40496.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-1.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-4.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr34435.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr39496.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr40446.C1
-rw-r--r--gcc/testsuite/g++.dg/vect/vect.exp5
-rw-r--r--gcc/testsuite/gcc.dg/compat/union-m128-1_main.c1
-rw-r--r--gcc/testsuite/gcc.dg/compat/vector-1a_main.c1
-rw-r--r--gcc/testsuite/gcc.dg/compat/vector-2a_main.c1
-rw-r--r--gcc/testsuite/gcc.dg/lto/20090206-1_0.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr34856.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr36584.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr36997.c3
-rw-r--r--gcc/testsuite/gcc.dg/pr37544.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr16104-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr35771-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr35771-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr35771-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/push-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp5
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp5
-rw-r--r--gcc/testsuite/gcc.target/i386/20060512-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/20060512-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/3dnow-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/3dnow-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/3dnowA-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/3dnowA-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/all_one_m128i.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/float128-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/float128-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/fpcvt-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/fpcvt-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/fpcvt-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/fpprec-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/funcspec-9.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/i386.exp23
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-12.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-7.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/incoming-8.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp24
-rw-r--r--gcc/testsuite/gcc.target/i386/opt-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/opt-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ordcmp-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr17692.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr18614-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr22152.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr23570.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr23575.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr26449-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr26600.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr27790.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr28839.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr30970.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32000-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32000-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32280.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32661.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32708-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32961.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr33329.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35714.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-1d.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-1i.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-2d.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-2i.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr35767-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36222-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36578-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36578-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36992-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37101.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37216.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37434-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37434-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37843-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr37843-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39162.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39315-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39315-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39315-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39315-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39445.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39496.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr40809.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr40906-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr41019.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42542-3a.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42549.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr42881.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/push-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/quad-sse.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/reload-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-10.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-11.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-15.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-17.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-18.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-19.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-vect-types.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-addpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-addsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-andpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-comisd-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-divpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-divsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-minpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-minsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-mmx.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movapd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movapd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movq-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movq-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movsd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movupd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movupd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-orpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-paddw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pand-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pandn-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pminub-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-por-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pslld-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pslld-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psllq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psllq-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psllw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psllw-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrad-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrad-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psraw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psraw-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrld-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrld-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-psubw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-pxor-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-shufps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-subpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-subsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-unpack-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-vec-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-addsubpd.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-addsubps.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-haddpd.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-haddps.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-hsubpd.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-hsubps.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-lddqu.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-movddup.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-movshdup.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse3-movsldup.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssefn-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssefn-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssefp-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssefp-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sseregparm-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sseregparm-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sseregparm-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sseregparm-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sseregparm-7.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssetype-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssetype-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssetype-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssetype-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/ssetype-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/unordcmp-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-7.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-8.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vecinit-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize7.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize8.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vperm-v2df.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vperm-v2di.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/vperm-v4si-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/xorps-sse2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/xorps.c1
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/pr42326-1.f901
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/pr42326.f901
-rw-r--r--gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f1
-rw-r--r--gcc/testsuite/gfortran.dg/vect/vect.exp5
-rw-r--r--gcc/testsuite/lib/fortran-torture.exp3
-rw-r--r--gcc/testsuite/lib/target-supports-dg.exp17
-rw-r--r--gcc/testsuite/lib/target-supports.exp12
344 files changed, 789 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5eb9e02..4167712 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ 3dnow, sse3, sse2.
+ (Directives): Document optional dg-require-effective-target
+ selector.
+
2010-05-19 Richard Guenther <rguenther@suse.de>
PR lto/44196
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 14397b7..a27aea2 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 4de8c08..d68e7c6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,356 @@
+2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * 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 <rguenther@suse.de>
PR lto/44196
diff --git a/gcc/testsuite/g++.dg/abi/mangle42.C b/gcc/testsuite/g++.dg/abi/mangle42.C
index 730781b3..b7e3bd5 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 63892e1..e60a59d 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 b0eaebf..961f067 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 853f913..5a91e60 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 <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-4.C b/gcc/testsuite/g++.dg/other/i386-4.C
index 3e0d94e..858a3a7 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 <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr34435.C b/gcc/testsuite/g++.dg/other/pr34435.C
index 5352a40..107ff6a 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 <emmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr39496.C b/gcc/testsuite/g++.dg/other/pr39496.C
index 5b1e76c..3791434 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 33dbcec..dd0aa48 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 <emmintrin.h>
#include "cpuid.h"
diff --git a/gcc/testsuite/g++.dg/vect/vect.exp b/gcc/testsuite/g++.dg/vect/vect.exp
index b735c22..65a0235 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 11f8721..cfd081d 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 76fb291..c5acc35 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 96c1111..164c4b2 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 13cd886..1fabb91 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 6bfc704..76499f7 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 7d83ece..a39eb57 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 13461b8..51b06a7 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 6393d2f..efca1db 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 018a1ba..3eb4059 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 c88241b..8def464 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 d036f39..3d6add1 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 b76c569..9a69b21 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 b52dcf0..cbbb9d0 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 <emmintrin.h>
#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 47f3607..ffe52f2 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 <emmintrin.h>
#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 7417324..c020d73 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 <emmintrin.h>
#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 cac2064..3e34cf1 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 <stdarg.h>
#include <emmintrin.h>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c
index 44f65bf..2ce94c3 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 55d7e15..b174874 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 3518de0..c651006 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 6eea84a..a2d36d3 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 56e599f..f6e50d2 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 8109f94..ae432e7 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 847f0eb..4b62b16 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 de5a2c3..953dc2a 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 4b4d747..84b8540 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 6d4f325..e502dc9 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 0a30d61..8475094 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 fa973e4..24d870f 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 9c6d227..a435f63 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 94408d2..6f9dd97 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 1c3b9b8..5f09aed 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 066d843..317aa13 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 569d21a..70377c3 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 0174e7c..1c17c1d 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 78714e1..1c05f13 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 85c6e04..622fbf8 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 86e98a7..9129ad0 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/incoming-12.c b/gcc/testsuite/gcc.target/i386/incoming-12.c
index d7ef103..b6bfa41 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 2947d33..1845166 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/incoming-3.c b/gcc/testsuite/gcc.target/i386/incoming-3.c
index 1edbfda..bb9653a 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/incoming-4.c b/gcc/testsuite/gcc.target/i386/incoming-4.c
index 80c169c..e1d1b75 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 <stdarg.h>
#include <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/incoming-6.c b/gcc/testsuite/gcc.target/i386/incoming-6.c
index 5cc4ab3..f6b64b7 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 cdd6037..fb53804 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 2dd8800..0f27af7 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 9b97ccb..a0e7b8d 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 28e2ef3..74d3e8d 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 d2791e0..d247d71 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 a136182..9be97e5 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 a837386..f8aed82 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 1a49975..6e16616 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 d125977..4dce76c 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 <mmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr23570.c b/gcc/testsuite/gcc.target/i386/pr23570.c
index 1542663..f220a8c 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 522226e..1b0ec7f 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 b4ef780..e83375d 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 bbe0663..61941de 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 e8986c4..4c5cdb6 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 6a21516..ccb715d 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 96d64e5..25f7739 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 483d24a..9c7bfa2 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 6effafc..6f10560 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 d48a635..49865ea 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 247ae13..2eb1544 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 c530893..5200f3f 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 a232628..8b51362 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 <xmmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr33329.c b/gcc/testsuite/gcc.target/i386/pr33329.c
index bb589ee..e803608 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 13ca47c..d5d2755 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1.c b/gcc/testsuite/gcc.target/i386/pr35767-1.c
index 5ed5b85..0945e19 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 cdf17fa..fa7d73f 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 188e8e7..b762048 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 82062ff..5457c48 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 ae96cd8..cb9d741 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 d241644..f2dede9 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 e7592ff..19162cf 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 4372d2e..9f53303 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 2d4c5b9..647e103 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 cae0d70..4999935 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 19143cf..5d6556f 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 7cd24cc..017616b 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr37101.c b/gcc/testsuite/gcc.target/i386/pr37101.c
index 8fd3bfc..69b913c 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 5c847a7..05eb2ee 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 b556bf0..00ed55e 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 00ff9fd..b92d521 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 15d05c1..ed6478e 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 8e5f51f..f5e024cc 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 2d114b8..1a5e3e7 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 16ba5d5..9f4d484 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 ab3dcd0..5363e97 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 07862db..38ea7ae 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 2e55c25..4a62a1d 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 6f0295b..48e2d39 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 e4132a1..bdaca2e 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 979b531..8b63e55 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 b639b62..e976805 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 c0021c6..a6a2f4e 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 60da8ee..761b91b 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 fc59534..80ed9c3 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 028d2f8..372f2c1 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 754e59e..89c9ed4 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 0a9bfa8..733853c 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 1be307b..c8ad09d 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 09464bf..797ad57 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 4b6fe79..8c59445 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 f8075ac..2998715 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 5cf0714..798551d 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 3745dbf..c764c0b 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 5a1da7a..ed91ee6 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 f7b3d0d..3386a3b 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 <xmmintrin.h>
extern void abort();
diff --git a/gcc/testsuite/gcc.target/i386/sse-18.c b/gcc/testsuite/gcc.target/i386/sse-18.c
index fc0224f..6a1352b 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 43c090b..112c3e1 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-4.c b/gcc/testsuite/gcc.target/i386/sse-4.c
index 394ad9d..5d49884 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-6.c b/gcc/testsuite/gcc.target/i386/sse-6.c
index 930b23f..77131d4 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 9cb6f3e..2658f02 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 <xmmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c
index 2c1e81d..99ff02f 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 d81b1bb..2297539 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 36b3c31..0250d6b 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 90902bf..9f037ab 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 224a609..953f220 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 e8478d9..7229906 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 f18cf16..03b5b9e 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 6bd8855..720c63e 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 cf377c4..e33ec71 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 dd2127b..e41ee0c 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 1337117..9d32b7a 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 710aa64..5726448 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 5640e39..9d85f5c 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 a8839a4..4b2965e 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 f25290c..ebcf153 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 365d5e7..15c8188 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 68c2a99..e4dcd11 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 16093ef..cdc6051 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 75770ee..9c5a0e2 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 dfc543f..908e82f 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 ae0b2c3..6f8a7a7 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 12ca895..cda223c 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 29d6d86..7035c4e 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 e8172d3..eda870d 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 93dd624..eebc259 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 1c963a1..d80a1a9 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 a87ec1a..d04d6d4 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 ec0fe20..0284a73 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 cc4f9d11..2cf160c 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 e8b9e8c..fb72320 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 903a5ad..6528800 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 7dc80a3..ef1863c 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 71e27be..bcb9405 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 3874b2e..6273482 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 5276c7e..43797f7 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 43037a5..eaec22c 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 3ca51a2..f6360c7 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 e2c6829..24377cc 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 9ec53e2..e64091e 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 50dc124..3c34d98 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 ca375cb..fb226a8 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 0a047dd..b8b9dba 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 decfd22..8298551 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 2475bbc..67f0a87 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 f986e6e..a12787b 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 cf95b62..7599b05 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 7bf49dc..ff6c91f 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 c24e128..0688dd9 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 9ab0195..20e79ea 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 82e7671..e906cbc 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 335c898..e86259a 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 548f2e6..9e7432b 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 d63aedf..1bbb741 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 cef6f8d..6a865fe 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 d36eaef..4435ad8 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 edcb90c..204174e 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 9d22df9..718b51a 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 1b4c02a..edf16f4 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 3538bd3..571fd6d 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 98f9987..14342ea 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 e6e83d1..f1958f0 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 f9bf585..6533b4c 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 b5c59b8..c66e70c 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 c87e9e2..737730e 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 1b66573..777b439 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 4eaa70a..1d88474 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 a610326..187b880 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 76532fb..3643a8a 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 d176ac0..6fd00ae 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 d9414ca..faea05c 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 c2d9b04..0c910c8 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 4867cb4..1363978 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 bb3bafc..6b2195e 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 885ed26..5fec2f2 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 ee1f038..807287e 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 449d141..90a2269 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 db1664f..3ed7329 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 cab3c1f..a6a1702 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 5a300c1..d9c653f 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 cb80431c..98b4894 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 341e5af..4f9bf21 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 240fa0d..7db34ba 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 cb18d11..d401892 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 e87e9b1..f341583 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 916ec3c..34c74e8 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 bba5eae..8d03536 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 bfa58a9..835ba36 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 df1907a..c26d02b 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 b07fcb6..836f2c6 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 e5eafc1..6447aa3 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 ad26ca9..5c553d1 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 953f8dd..6c4598c 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 f1f5ff7..fce068c 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 fd6a3d2..f77ec6a 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 447b5ca..ac38389 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 a68d065..38014b7 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 dac14ef..51540c1 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 7c332ed..a5a0183 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 c5fa0b2..83e83cb 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 b106283..b0f8834 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 4eec55d..cfff757 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 3749625..9915ca4 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 4fbde24..31474e3 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 adef576..1741141 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 3189106..2d4dc1b 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 cd916eb..a07cfc4 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 b20e872..6792fd3 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 1fc5aa4..3153ec4 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 22a54b6..e317040 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 37091ba..ea27439 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 dc24a0f..0b8d5b8 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 3e0d88f..49db1b2 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 c3823eb..8aa6681 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 0e57731..d310fc4 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 0270d92..a5ddce1 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 7513191..c4484bc 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 9c1ce5e..12ace37 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 8c65940..ee4fb04 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 e5375f7..d51ee45 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 dbe6a68..0d4004c 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 a8d5b67d..a416f57 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 296a261..9700a77 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 fe8c0f4..a31ec68 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 d9cb1af..88308cb 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 85fdbeb..a0f4215 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 e2d8be5..dbf08ad 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 f673b0b..33f3020 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 7fcef77..26689aa 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 4cb60d7..4dbd46b 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 1ba04e1..11fd91e 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 4e63885..d3d5a71 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 1e7b44f..c24ee1e 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 4f84ca1..ce9b885 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 8ba26b3..6736186 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 7e06440..c9d2b90 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 f4dac40..c1f5d0f 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 67510b5..ac32015 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 61f19cb..cc0af7c 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 918fa5c..01f2699 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 2c0227d..3c3ae26 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 cab461e..e4231a4 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 816c19e..b2a8778 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 2b4a8be..2d500b7 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 b5103ac..1afe68b 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 cffa469..0a05680 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 f1ef347..6095aaa 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 3a476cf..edbf829 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 e8ac1b8..6a91e21 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 d70c3f8..954f81a 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 deae8e7..0bf8708 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 110f7cd..fd566f0 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 1e3a1a6..df9e09b 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 99c9aa2..f65572a 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 19a730a..b08c441 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 dd5ed70..bb0bee5 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 a267639..ed06708 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 <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c
index a682725..a07302c 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 0e4a5cc..3562edc 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 ba7e2e89..ab2ca5b 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 c7586e1..6f5c514 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 545dbe0..fa18de5 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 31e4806..0867e9c 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 7ca45ba..c676bbd 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 ecd0b33..856c3e7 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 88cf0d37..669f571 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 e82fa76..147a1ec 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 091b58c..604c404 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 8750ddf..ae4f94a 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 dcb0a7c..e944eab 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 77018f5..37bd60c 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 326adfd..1980638 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 5df19a6..700bd57 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 2eb33ad..cbf3206 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 8f6706c..0d30ccb 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 9ae8454..1ef2dd1 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 09b920e..dfaacf6 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 eacdfa7..2d7407e 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 621e362..fdce233 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 a6caee3..0b8b722 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 9ee82af..7475e4f 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 a29cf06..b8fc521 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 7423722..fa41a2c 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 6203b6b..d0358c5 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 61267df..99953b5 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 ef89059..00ea285 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 b68a639..c6a8ba7 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 d6887d5..0e83e28 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 9994b07..9b68792 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 75133e9..098ed89 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 49d4b8e..85de486 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 1875e0a..cfb1e30 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 <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/vararg-2.c b/gcc/testsuite/gcc.target/i386/vararg-2.c
index 0534ac7..6079317 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 <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/vararg-3.c b/gcc/testsuite/gcc.target/i386/vararg-3.c
index a6b5876..3bfc3f1 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 <stdarg.h>
#include <assert.h>
diff --git a/gcc/testsuite/gcc.target/i386/vararg-4.c b/gcc/testsuite/gcc.target/i386/vararg-4.c
index e2f83b0..8034dca 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 <stdarg.h>
#include <assert.h>
diff --git a/gcc/testsuite/gcc.target/i386/vararg-7.c b/gcc/testsuite/gcc.target/i386/vararg-7.c
index bebf609..0f10d67 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 <stdarg.h>
#include <assert.h>
diff --git a/gcc/testsuite/gcc.target/i386/vararg-8.c b/gcc/testsuite/gcc.target/i386/vararg-8.c
index bf6d3b5..5c5a0b4 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 <stdarg.h>
#include <assert.h>
diff --git a/gcc/testsuite/gcc.target/i386/vecinit-1.c b/gcc/testsuite/gcc.target/i386/vecinit-1.c
index 8553eb0..cba7429 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 d6c715f..fdfa837 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 053b566..aae642a 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 773a316..101b68b 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 5764889..b9e7e27 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 ba58f12..3b22043 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 4196487..a7196c7 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 2947acb..e19f8d8 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 f3d605e..9933d29 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 78ec53d..41e61aa 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 10b7ba2..eca043b 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 ed1517b..e263620 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 f17e065..d039463 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 c6fe561..940de68 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 663feb3..93c25c6 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 3c268b4..4d3994c 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 6803a4d..bc2e97d 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 c17446a..8c9d110 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 d6939da..06ef2b7 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 cf47204..8f196a6 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 d818e7d..9f9ed22 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 811b4cf..72ce9d6 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 12631fa..e742d75 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 e91c033..66413c6 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 { } {