]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 May 2010 16:10:05 +0000 (16:10 +0000)
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 May 2010 16:10:05 +0000 (16:10 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159584 138bc75d-0d04-0410-961f-82ee72b054a4

344 files changed:
gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle42.C
gcc/testsuite/g++.dg/ext/attrib35.C
gcc/testsuite/g++.dg/opt/pr40496.C
gcc/testsuite/g++.dg/other/i386-1.C
gcc/testsuite/g++.dg/other/i386-4.C
gcc/testsuite/g++.dg/other/pr34435.C
gcc/testsuite/g++.dg/other/pr39496.C
gcc/testsuite/g++.dg/other/pr40446.C
gcc/testsuite/g++.dg/vect/vect.exp
gcc/testsuite/gcc.dg/compat/union-m128-1_main.c
gcc/testsuite/gcc.dg/compat/vector-1a_main.c
gcc/testsuite/gcc.dg/compat/vector-2a_main.c
gcc/testsuite/gcc.dg/lto/20090206-1_0.c
gcc/testsuite/gcc.dg/pr34856.c
gcc/testsuite/gcc.dg/pr36584.c
gcc/testsuite/gcc.dg/pr36997.c
gcc/testsuite/gcc.dg/pr37544.c
gcc/testsuite/gcc.dg/torture/pr16104-1.c
gcc/testsuite/gcc.dg/torture/pr35771-1.c
gcc/testsuite/gcc.dg/torture/pr35771-2.c
gcc/testsuite/gcc.dg/torture/pr35771-3.c
gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c
gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c
gcc/testsuite/gcc.dg/torture/stackalign/push-1.c
gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c
gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c
gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c
gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c
gcc/testsuite/gcc.dg/vect/vect.exp
gcc/testsuite/gcc.target/i386/20060512-1.c
gcc/testsuite/gcc.target/i386/20060512-3.c
gcc/testsuite/gcc.target/i386/3dnow-1.c
gcc/testsuite/gcc.target/i386/3dnow-2.c
gcc/testsuite/gcc.target/i386/3dnowA-1.c
gcc/testsuite/gcc.target/i386/3dnowA-2.c
gcc/testsuite/gcc.target/i386/all_one_m128i.c
gcc/testsuite/gcc.target/i386/float128-1.c
gcc/testsuite/gcc.target/i386/float128-2.c
gcc/testsuite/gcc.target/i386/fpcvt-1.c
gcc/testsuite/gcc.target/i386/fpcvt-2.c
gcc/testsuite/gcc.target/i386/fpcvt-3.c
gcc/testsuite/gcc.target/i386/fpprec-1.c
gcc/testsuite/gcc.target/i386/funcspec-9.c
gcc/testsuite/gcc.target/i386/i386.exp
gcc/testsuite/gcc.target/i386/incoming-1.c
gcc/testsuite/gcc.target/i386/incoming-12.c
gcc/testsuite/gcc.target/i386/incoming-2.c
gcc/testsuite/gcc.target/i386/incoming-3.c
gcc/testsuite/gcc.target/i386/incoming-4.c
gcc/testsuite/gcc.target/i386/incoming-6.c
gcc/testsuite/gcc.target/i386/incoming-7.c
gcc/testsuite/gcc.target/i386/incoming-8.c
gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
gcc/testsuite/gcc.target/i386/opt-1.c
gcc/testsuite/gcc.target/i386/opt-2.c
gcc/testsuite/gcc.target/i386/ordcmp-1.c
gcc/testsuite/gcc.target/i386/pr17692.c
gcc/testsuite/gcc.target/i386/pr18614-1.c
gcc/testsuite/gcc.target/i386/pr22152.c
gcc/testsuite/gcc.target/i386/pr23570.c
gcc/testsuite/gcc.target/i386/pr23575.c
gcc/testsuite/gcc.target/i386/pr26449-1.c
gcc/testsuite/gcc.target/i386/pr26600.c
gcc/testsuite/gcc.target/i386/pr27790.c
gcc/testsuite/gcc.target/i386/pr28839.c
gcc/testsuite/gcc.target/i386/pr30970.c
gcc/testsuite/gcc.target/i386/pr32000-1.c
gcc/testsuite/gcc.target/i386/pr32000-2.c
gcc/testsuite/gcc.target/i386/pr32280.c
gcc/testsuite/gcc.target/i386/pr32661.c
gcc/testsuite/gcc.target/i386/pr32708-1.c
gcc/testsuite/gcc.target/i386/pr32961.c
gcc/testsuite/gcc.target/i386/pr33329.c
gcc/testsuite/gcc.target/i386/pr35714.c
gcc/testsuite/gcc.target/i386/pr35767-1.c
gcc/testsuite/gcc.target/i386/pr35767-1d.c
gcc/testsuite/gcc.target/i386/pr35767-1i.c
gcc/testsuite/gcc.target/i386/pr35767-2.c
gcc/testsuite/gcc.target/i386/pr35767-2d.c
gcc/testsuite/gcc.target/i386/pr35767-2i.c
gcc/testsuite/gcc.target/i386/pr35767-3.c
gcc/testsuite/gcc.target/i386/pr35767-5.c
gcc/testsuite/gcc.target/i386/pr36222-1.c
gcc/testsuite/gcc.target/i386/pr36578-1.c
gcc/testsuite/gcc.target/i386/pr36578-2.c
gcc/testsuite/gcc.target/i386/pr36992-1.c
gcc/testsuite/gcc.target/i386/pr37101.c
gcc/testsuite/gcc.target/i386/pr37216.c
gcc/testsuite/gcc.target/i386/pr37434-1.c
gcc/testsuite/gcc.target/i386/pr37434-2.c
gcc/testsuite/gcc.target/i386/pr37843-3.c
gcc/testsuite/gcc.target/i386/pr37843-4.c
gcc/testsuite/gcc.target/i386/pr39162.c
gcc/testsuite/gcc.target/i386/pr39315-1.c
gcc/testsuite/gcc.target/i386/pr39315-2.c
gcc/testsuite/gcc.target/i386/pr39315-3.c
gcc/testsuite/gcc.target/i386/pr39315-4.c
gcc/testsuite/gcc.target/i386/pr39445.c
gcc/testsuite/gcc.target/i386/pr39496.c
gcc/testsuite/gcc.target/i386/pr40809.c
gcc/testsuite/gcc.target/i386/pr40906-3.c
gcc/testsuite/gcc.target/i386/pr41019.c
gcc/testsuite/gcc.target/i386/pr42542-1.c
gcc/testsuite/gcc.target/i386/pr42542-2.c
gcc/testsuite/gcc.target/i386/pr42542-3.c
gcc/testsuite/gcc.target/i386/pr42542-3a.c
gcc/testsuite/gcc.target/i386/pr42549.c
gcc/testsuite/gcc.target/i386/pr42881.c
gcc/testsuite/gcc.target/i386/push-1.c
gcc/testsuite/gcc.target/i386/quad-sse.c
gcc/testsuite/gcc.target/i386/reload-1.c
gcc/testsuite/gcc.target/i386/sse-10.c
gcc/testsuite/gcc.target/i386/sse-11.c
gcc/testsuite/gcc.target/i386/sse-15.c
gcc/testsuite/gcc.target/i386/sse-17.c
gcc/testsuite/gcc.target/i386/sse-18.c
gcc/testsuite/gcc.target/i386/sse-19.c
gcc/testsuite/gcc.target/i386/sse-4.c
gcc/testsuite/gcc.target/i386/sse-6.c
gcc/testsuite/gcc.target/i386/sse-vect-types.c
gcc/testsuite/gcc.target/i386/sse2-addpd-1.c
gcc/testsuite/gcc.target/i386/sse2-addsd-1.c
gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c
gcc/testsuite/gcc.target/i386/sse2-andpd-1.c
gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c
gcc/testsuite/gcc.target/i386/sse2-comisd-1.c
gcc/testsuite/gcc.target/i386/sse2-comisd-2.c
gcc/testsuite/gcc.target/i386/sse2-comisd-3.c
gcc/testsuite/gcc.target/i386/sse2-comisd-4.c
gcc/testsuite/gcc.target/i386/sse2-comisd-5.c
gcc/testsuite/gcc.target/i386/sse2-comisd-6.c
gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c
gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c
gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c
gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c
gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c
gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c
gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
gcc/testsuite/gcc.target/i386/sse2-divpd-1.c
gcc/testsuite/gcc.target/i386/sse2-divsd-1.c
gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c
gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c
gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c
gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c
gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c
gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c
gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c
gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c
gcc/testsuite/gcc.target/i386/sse2-minpd-1.c
gcc/testsuite/gcc.target/i386/sse2-minsd-1.c
gcc/testsuite/gcc.target/i386/sse2-mmx.c
gcc/testsuite/gcc.target/i386/sse2-movapd-1.c
gcc/testsuite/gcc.target/i386/sse2-movapd-2.c
gcc/testsuite/gcc.target/i386/sse2-movd-1.c
gcc/testsuite/gcc.target/i386/sse2-movd-2.c
gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c
gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c
gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c
gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c
gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c
gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c
gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c
gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c
gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c
gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c
gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c
gcc/testsuite/gcc.target/i386/sse2-movq-1.c
gcc/testsuite/gcc.target/i386/sse2-movq-2.c
gcc/testsuite/gcc.target/i386/sse2-movq-3.c
gcc/testsuite/gcc.target/i386/sse2-movsd-1.c
gcc/testsuite/gcc.target/i386/sse2-movsd-2.c
gcc/testsuite/gcc.target/i386/sse2-movupd-1.c
gcc/testsuite/gcc.target/i386/sse2-movupd-2.c
gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c
gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c
gcc/testsuite/gcc.target/i386/sse2-orpd-1.c
gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c
gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c
gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c
gcc/testsuite/gcc.target/i386/sse2-paddb-1.c
gcc/testsuite/gcc.target/i386/sse2-paddd-1.c
gcc/testsuite/gcc.target/i386/sse2-paddq-1.c
gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c
gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c
gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c
gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c
gcc/testsuite/gcc.target/i386/sse2-paddw-1.c
gcc/testsuite/gcc.target/i386/sse2-pand-1.c
gcc/testsuite/gcc.target/i386/sse2-pandn-1.c
gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c
gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c
gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c
gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c
gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c
gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c
gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c
gcc/testsuite/gcc.target/i386/sse2-pminub-1.c
gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c
gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c
gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c
gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c
gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c
gcc/testsuite/gcc.target/i386/sse2-por-1.c
gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c
gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c
gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c
gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c
gcc/testsuite/gcc.target/i386/sse2-pslld-1.c
gcc/testsuite/gcc.target/i386/sse2-pslld-2.c
gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c
gcc/testsuite/gcc.target/i386/sse2-psllq-1.c
gcc/testsuite/gcc.target/i386/sse2-psllq-2.c
gcc/testsuite/gcc.target/i386/sse2-psllw-1.c
gcc/testsuite/gcc.target/i386/sse2-psllw-2.c
gcc/testsuite/gcc.target/i386/sse2-psrad-1.c
gcc/testsuite/gcc.target/i386/sse2-psrad-2.c
gcc/testsuite/gcc.target/i386/sse2-psraw-1.c
gcc/testsuite/gcc.target/i386/sse2-psraw-2.c
gcc/testsuite/gcc.target/i386/sse2-psrld-1.c
gcc/testsuite/gcc.target/i386/sse2-psrld-2.c
gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c
gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c
gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c
gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c
gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c
gcc/testsuite/gcc.target/i386/sse2-psubb-1.c
gcc/testsuite/gcc.target/i386/sse2-psubd-1.c
gcc/testsuite/gcc.target/i386/sse2-psubq-1.c
gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c
gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c
gcc/testsuite/gcc.target/i386/sse2-psubw-1.c
gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c
gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c
gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c
gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c
gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c
gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c
gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c
gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c
gcc/testsuite/gcc.target/i386/sse2-pxor-1.c
gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c
gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c
gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c
gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c
gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c
gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c
gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c
gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c
gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c
gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c
gcc/testsuite/gcc.target/i386/sse2-shufps-1.c
gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c
gcc/testsuite/gcc.target/i386/sse2-subpd-1.c
gcc/testsuite/gcc.target/i386/sse2-subsd-1.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c
gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c
gcc/testsuite/gcc.target/i386/sse2-unpack-1.c
gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c
gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c
gcc/testsuite/gcc.target/i386/sse2-vec-1.c
gcc/testsuite/gcc.target/i386/sse2-vec-2.c
gcc/testsuite/gcc.target/i386/sse2-vec-3.c
gcc/testsuite/gcc.target/i386/sse2-vec-4.c
gcc/testsuite/gcc.target/i386/sse2-vec-5.c
gcc/testsuite/gcc.target/i386/sse2-vec-6.c
gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c
gcc/testsuite/gcc.target/i386/sse3-addsubpd.c
gcc/testsuite/gcc.target/i386/sse3-addsubps.c
gcc/testsuite/gcc.target/i386/sse3-haddpd.c
gcc/testsuite/gcc.target/i386/sse3-haddps.c
gcc/testsuite/gcc.target/i386/sse3-hsubpd.c
gcc/testsuite/gcc.target/i386/sse3-hsubps.c
gcc/testsuite/gcc.target/i386/sse3-lddqu.c
gcc/testsuite/gcc.target/i386/sse3-movddup.c
gcc/testsuite/gcc.target/i386/sse3-movshdup.c
gcc/testsuite/gcc.target/i386/sse3-movsldup.c
gcc/testsuite/gcc.target/i386/ssefn-2.c
gcc/testsuite/gcc.target/i386/ssefn-4.c
gcc/testsuite/gcc.target/i386/ssefp-1.c
gcc/testsuite/gcc.target/i386/ssefp-2.c
gcc/testsuite/gcc.target/i386/sseregparm-3.c
gcc/testsuite/gcc.target/i386/sseregparm-4.c
gcc/testsuite/gcc.target/i386/sseregparm-5.c
gcc/testsuite/gcc.target/i386/sseregparm-6.c
gcc/testsuite/gcc.target/i386/sseregparm-7.c
gcc/testsuite/gcc.target/i386/ssetype-1.c
gcc/testsuite/gcc.target/i386/ssetype-2.c
gcc/testsuite/gcc.target/i386/ssetype-3.c
gcc/testsuite/gcc.target/i386/ssetype-4.c
gcc/testsuite/gcc.target/i386/ssetype-5.c
gcc/testsuite/gcc.target/i386/unordcmp-1.c
gcc/testsuite/gcc.target/i386/vararg-1.c
gcc/testsuite/gcc.target/i386/vararg-2.c
gcc/testsuite/gcc.target/i386/vararg-3.c
gcc/testsuite/gcc.target/i386/vararg-4.c
gcc/testsuite/gcc.target/i386/vararg-7.c
gcc/testsuite/gcc.target/i386/vararg-8.c
gcc/testsuite/gcc.target/i386/vecinit-1.c
gcc/testsuite/gcc.target/i386/vecinit-2.c
gcc/testsuite/gcc.target/i386/vecinit-3.c
gcc/testsuite/gcc.target/i386/vecinit-4.c
gcc/testsuite/gcc.target/i386/vecinit-5.c
gcc/testsuite/gcc.target/i386/vecinit-6.c
gcc/testsuite/gcc.target/i386/vectorize2.c
gcc/testsuite/gcc.target/i386/vectorize3.c
gcc/testsuite/gcc.target/i386/vectorize4.c
gcc/testsuite/gcc.target/i386/vectorize6.c
gcc/testsuite/gcc.target/i386/vectorize7.c
gcc/testsuite/gcc.target/i386/vectorize8.c
gcc/testsuite/gcc.target/i386/vperm-v2df.c
gcc/testsuite/gcc.target/i386/vperm-v2di.c
gcc/testsuite/gcc.target/i386/vperm-v4si-1.c
gcc/testsuite/gcc.target/i386/xorps-sse2.c
gcc/testsuite/gcc.target/i386/xorps.c
gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90
gcc/testsuite/gfortran.dg/graphite/pr42326.f90
gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f
gcc/testsuite/gfortran.dg/vect/vect.exp
gcc/testsuite/lib/fortran-torture.exp
gcc/testsuite/lib/target-supports-dg.exp
gcc/testsuite/lib/target-supports.exp

index 5eb9e02379bb5882fe69f532c5caac13612da142..4167712f49b727700f24633dbb9be80074a9ae88 100644 (file)
@@ -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
index 14397b78653a35e72666f0a2394bb5786d8fd3f4..a27aea2123ffb107844a7289a7f4e3aab0a72e37 100644 (file)
@@ -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.
 
index 4de8c08286e002c6099de6c41d07d5c26c8ed305..d68e7c6f34a5d456884be5e8bdf38b25b4997478 100644 (file)
@@ -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
index 730781b300b30c1a75b45254ee0efcd7e8be9d4f..b7e3bd561eb53bd01cd4497bd214db3b2a649e29 100644 (file)
@@ -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)));
index 63892e1e33846fff89f2777fb1050fa127783f83..e60a59dffb78f98056ef3612af25c97b9b48fbbb 100644 (file)
@@ -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)));
index b0eaebf702fae00f2bfee8dfbf93b7c6bd99500c..961f067aff24a93cb5e632035ad80b19b6df18a9 100644 (file)
@@ -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
 {
index 853f913db1e9d3a0f7ee5474eb8a6b52152b7e13..5a91e603660d17b30b71b7e27e15809814a2fbd6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <xmmintrin.h>
 
index 3e0d94e952cd4c12ddae14e733980235be6174f2..858a3a74e00a2693c430b31456fdc9def9349124 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O1 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <xmmintrin.h>
 
index 5352a40eb691243bd87d043a9dbd5be669c5bee8..107ff6a088b567ffd53b5eeb46dce994b54386ef 100644 (file)
@@ -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>
 
index 5b1e76c7576abf4cd26ca38f7dd3783d824a6bf1..3791434e43626a5a13d86edac8324731f3c68c68 100644 (file)
@@ -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," } }
index 33dbcec7159195062c265fe33c184e7ef29797ef..dd0aa4820750b11ec7951ba7edfcb00fd8b568ce 100644 (file)
@@ -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"
index b735c223334476053cbfc2e8ab56cfabdbd54c80..65a0235af12fa4ecd21fee38b21a2b846fe23f75 100644 (file)
@@ -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
index 11f872154eba28386f4c7c4e6c5ee463f96243e2..cfd081db8966873679ca238907ceb1c802ddc4fb 100644 (file)
@@ -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"
 
index 76fb2915e1d096d877ad83b20926b25eb4d44f47..c5acc35f4d81333751f660f2f919429ba6a38b4e 100644 (file)
@@ -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
index 96c1111fddcdb5f79d8ea7e3721af2f332a3e0b0..164c4b25e2e6e261d653548d4a1c0a47337ec2f9 100644 (file)
@@ -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
index 13cd886118330d4a0e56b6cb40466ba64cf919fc..1fabb9192ce7fd878ee5c1162b776c9fd8ba1244 100644 (file)
@@ -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)));
index 6bfc704774f0b3982179cc1a6b275243c6a3c316..76499f7b8f5d0810750758a458a812ca470616e1 100644 (file)
@@ -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;
index 7d83ece3339d2a47a429ce548437095aa79e433a..a39eb572e1d0078c0bce83b9e6b5a16409df0bf9 100644 (file)
@@ -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"
index 13461b8a1347b8df0ee3380e211c854f4105efb2..51b06a7791ca392e8b9bc713400d88e9128a9034 100644 (file)
@@ -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 } */
 }
index 6393d2f89d8c74b650b6de970f8da750f74a5a4e..efca1db6d4a4d2ccda4287b3d0ebe123c39eb1f3 100644 (file)
@@ -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"
index 018a1bac7601e298965b5182421bc3cd6ebc871c..3eb405906a21897d07182de64f84825ec4741bb9 100644 (file)
@@ -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"
 
index c88241bcb97167f69535ccc80497dc778f2aed8b..8def464aa6dfcd9b0305db7c8f89a5ba95e03268 100644 (file)
@@ -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__));
 
index d036f396e771211b0d3cd424206be74baa2c0548..3d6add10de96e7249646dce2fdacbb4e3c3c2a56 100644 (file)
@@ -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__));
 
index b76c569f499ab583fe10bedcb6cdb4416e78e62b..9a69b21a5117bac2c2aea73c7897385cc290d34b 100644 (file)
@@ -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__));
 
index b52dcf06566d78d41b1690f27226912e5505d9d5..cbbb9d03a4cbf668e6ca2d61a7f2cb550a0b62f8 100644 (file)
@@ -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"
index 47f3607c2a5a1477e18d89a3d4dbaf5de1302342..ffe52f2a3e035df4be1a861ca2a80af5eac53f22 100644 (file)
@@ -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"
index 7417324e4bb49aa26b4046b441b68d9890d20534..c020d73129363d6b72fd45df3d87dda3aab5f3f8 100644 (file)
@@ -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"
index cac206499ed8b468cb65911860bcf0f6e30ef039..3e34cf148b76df3dd841ceb0f82bb7cb2b648d0b 100644 (file)
@@ -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>
index 44f65bffb20c4f2c6fd8ca3286fb6444da94cfbc..2ce94c3cf47cc1580c50dce8be43af3a89b016eb 100644 (file)
@@ -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
index 55d7e15aca77ca7b335cba128ad57702c6c522ac..b174874b8821c78e2141210cc46effa4c6b22628 100644 (file)
@@ -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" } */
 
index 3518de0590ffe066cce383019cc0670ba4bd0d28..c6510060127cdd01221439576ea5ee860d17c80d 100644 (file)
@@ -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
index 6eea84ae129ec3eae166f341a5f1a86550ae75cf..a2d36d3b083b80f18282954372c3beecf8b8dfee 100644 (file)
@@ -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],
index 56e599fbf981d244a5268ed777387fd1a4fc2c28..f6e50d27dbdef3a25c71f8ebc3727e3254efc6e5 100644 (file)
@@ -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
index 8109f94b75cea5b5addd6ac5453ea58d3dc14330..ae432e79c08a9be3849883caa1b6919f51ed5a33 100644 (file)
@@ -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"
 
index 847f0eb6d35a318599b541ea76f6baa98fe30457..4b62b16602c593f5183470300fd2c554cf8dfbfc 100644 (file)
@@ -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"
index de5a2c3f9357393fd70e9ceba3afe1900ea9ebca..953dc2aef5c686a1b36a51b5aed056ad872d4e18 100644 (file)
@@ -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
index 4b4d7472265d9cbfabe6e8cecf667b4300fa6418..84b85408750d9173cea691ef901a304f44f65dff 100644 (file)
@@ -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
index 6d4f32532bcff0c376d6bfd4accc9e41a9b67c2a..e502dc98fbe45af3d78af09d38a34ef25c18079c 100644 (file)
@@ -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
index 0a30d61c9e6f764542276879ffa149d9045a4e68..8475094abbe0fb11992ef5a5d9a44b214521d8d0 100644 (file)
@@ -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
index fa973e420ab72341357ed9784089fb143453c634..24d870fa37f75f2c0305ee3c6ab89e6ed7051796 100644 (file)
@@ -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)));
index 9c6d22745f024100c0f330fe7c4262d9be3db62c..a435f63c1fafd017b5c67931bf726bbf44dc8136 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run { target *-*-linux* } } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 94408d2ef35b3a913ccbf927a7d9eb1897a9fad7..6f9dd97fdf04311a20173d539eb2eb4506c3fbb7 100644 (file)
@@ -2,6 +2,7 @@
 
 /* { dg-do run { target *-*-linux* *-*-darwin* } } */
 /* { dg-options "-Os -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 1c3b9b83453e9b9e76125fe4454c826f153e281f..5f09aedc53edd43a3f74c560f8820d7f1b17c67b 100644 (file)
@@ -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()
index 066d84365edb35306d43c59a06d28a08b945656d..317aa13b8872c194529551243958dfd953546771 100644 (file)
@@ -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()
index 569d21a5aa73a507d653d3901913f21cfe2cca3f..70377c3d627f6e24ffb5495b402d8689f093f47a 100644 (file)
@@ -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;
index 0174e7c6c324fa5ff2619c6a76c22301b5f9d43b..1c17c1d10a00bdbd4168be17e810ca5806734dc2 100644 (file)
@@ -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"
 
index 78714e12417c987bd7225a17ac4a53927a23fe10..1c05f134ab546f376bbd4c8663f91c00a9e9180a 100644 (file)
@@ -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);
 
index 85c6e042dc65e6b69555fad398db45e1c3d3a9a1..622fbf8ee216050bc99af2fdde4ce95a2b7b68ec 100644 (file)
@@ -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 {
index 86e98a79b479de4a4acbef9305a4b68943603d29..9129ad00e179dbe75716095b41e8a60af6065dcf 100644 (file)
@@ -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>
 
index d7ef1038bb5fc0d454bc772e54115bc5a40381cc..b6bfa418d904035cfe0b39f1997492703e1f08c4 100644 (file)
@@ -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)));
 
index 2947d3347cd9815c9a1a94adf1629ed4c1a59ce6..184516696123611e1a6a85a00a96ab7549e91e18 100644 (file)
@@ -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>
 
index 1edbfda0b39356b956ef8d551b7b1c901e0e7e0e..bb9653a406710355754c9d05ba0a6f897e3da9a3 100644 (file)
@@ -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>
 
index 80c169c24696e8b106bbc285a08f714e0d1eebba..e1d1b751e7b7f5f804e018dd2ed7177bbe658f81 100644 (file)
@@ -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>
index 5cc4ab3f76635cd69bf387f1cadb859d2fa1468c..f6b64b7abd2a626bf111d1db60c32a711f829d29 100644 (file)
@@ -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)));
 
index cdd60379683c60e149b612bed65f6ab8afb660c6..fb5380490d622065f23f25684109b0447fb6e275 100644 (file)
@@ -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)));
 
index 2dd8800fd6cbd2df3a27166fc4164a3ab9063589..0f27af72078b5740c93a933788badcca4d2b831b 100644 (file)
@@ -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)
index 9b97ccb1b38431ca3361c2492c468b4d64452a5f..a0e7b8d1eaa0b123fcfc2a72cfddaf7cb8d94f42 100644 (file)
@@ -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
 
index 28e2ef38c348e42bb7fe665843bc47aba68885f5..74d3e8d1046a0c2719f257d78f8f9f17ebe438c0 100644 (file)
@@ -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" } } */
index d2791e071c38ee9c86b992adf24cd49f91d7ff71..d247d71fc23f2d6b353ef124a4f6c6bb564a0161 100644 (file)
@@ -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" } } */
index a136182aca986d6edc2a8628ee345bc94cbc9a6e..9be97e52b91fed4e76dea71a63b5ab5f5b6d13b2 100644 (file)
@@ -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" } } */
index a837386a3f95cf4e3a7fb2b531714d556bd2cd63..f8aed82750f203dcb74751c3c0e4b0a68a829481 100644 (file)
@@ -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
index 1a4997537604793dfb2a9ba357b0b60f138dbeb4..6e16616cae604756fe6cac616e11f3284e41a9c9 100644 (file)
@@ -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)));
 
index d12597703ea2e98c506a1be2a74a5ad18f28452d..4dce76cc947993ab3347d6e5e612b32637e2a9cd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <mmintrin.h>
 
index 1542663fa22cd74ec3499b4fd332e2424c7c2892..f220a8cb80d79012f428eff2c3bc4ddb4e26a1d0 100644 (file)
@@ -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)));
index 522226ef7a2e15319dc2f5cec676f55345680ec4..1b0ec7f88c3cb313b245630fe10d3ca738a45013 100644 (file)
@@ -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.  */
 
index b4ef7804887712f672b89d155dd5e30de6efe281..e83375d6d0f1ed1475fc92d8b800bf4e493d2141 100644 (file)
@@ -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)));
index bbe0663da7e07bde0bc24fc88d1e5299849ea0ac..61941de70e477b5049a546462418f2d1ef8b6dfa 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 void foo(int *p, int N)
 {
index e8986c4158acbd57eff3a389d8bab13e8aa997fc..4c5cdb6dc74a6db63952560344677a0a2e2cb7a7 100644 (file)
@@ -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)
 {
index 6a215164c58c7493b2cc4c65c2166138e3b208ef..ccb715d747840f46615fd4ee2f27954c37354b6d 100644 (file)
@@ -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);
index 96d64e5a9628e0cacc640ba4c9d96e14ccea126a..25f773915f84b871dc9e427ab9ea96825fbd5ad1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile }
 /* { dg-options "-msse2 -O2 -ftree-vectorize" } */
+/* { dg-require-effective-target sse2 } */
 
 #define N 256
 int b[N];
index 483d24a763a6b3f04a1b560aa78f2a67a9abbe35..9c7bfa24b38fb81e51a4c459a8c4912d7fb448df 100644 (file)
@@ -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"
 
index 6effafc6009146632bdffdcf29a52ac06f6b931c..6f1056099c6ccff44f3ad64a5ec9d089714c8d74 100644 (file)
@@ -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"
 
index d48a635a4b8d83d455738b113988baa503d432d4..49865ea4ba66d8a859d01bcde0cd7f1dc3a05cf4 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 typedef long long __m128i __attribute__ ((__vector_size__ (16)));
 
index 247ae1319237ae28166ce2eadb65518aac4d16e7..2eb1544e33658a55be4a32a2b1f45d335e0ea357 100644 (file)
@@ -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)));
index c5308937bb05e39e66c6cf58add5903c934225e8..5200f3f65478ff509d500df93f46fde7c16f84b5 100644 (file)
@@ -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)));
index a2326289af982c72528770f22ef96c1d21ed0b0f..8b513623111c17e6d6b5c1ab9f101723ec4bb40c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O0 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <xmmintrin.h>
 
index bb589ee2780cb4cd248cff3e8a598737c30786e6..e8036082cf10dbc376136d4a0ae3a21be92d14f3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 extern void g (int *);
 
index 13ca47c23a38dc3c03610a38187ca6c2131bf183..d5d2755ed072e1485dcd21a30255d597473b2fc7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <emmintrin.h>
 
index 5ed5b85886603f79da12d36d3f9c1b152e53f01f..0945e19bab536108426cc986bf2b5b7d04916299 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index cdf17fa61b38f9c36c9bad23c6ba97cfc4722b08..fa7d73f6e3de7f518ef806205c31c074bb4279ba 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 188e8e737bda8c65934bcc1b7fa7551daefcbc6c..b7620480231140d18288ba0787328661f461a770 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 82062ff9ee7b0f3d1680fa4da8bf7cd00765c2f3..5457c48112b7d7f8b8b36b54d199cee8063ff8c7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index ae96cd852d095c767a629c224b84c0c4792205bb..cb9d74190b68f6ec199e4d5ceac805a5131bbcf7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index d241644b62b9f22798d6c2ee929e91e72c337521..f2dede9e7b70888b3bac89f03cf57df4e356c785 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index e7592ff7bcb5b4d24964d844fa9fc49a3a12ec91..19162cfe25642d82f526750b98e549dbf033a5b3 100644 (file)
@@ -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"
index 4372d2e57465520845c86735055186a8ab1c793f..9f533033b711c754ae13185a96b8cc362b564e7a 100644 (file)
@@ -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" } } */
 
index 2d4c5b9b76c6f6bce6333eba863cdaa90c07a74d..647e10396196d313a8eb113b07f3f142640d6c77 100644 (file)
@@ -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)));
index cae0d7088376eb2030d70690060930cfe7c9e199..49999351f0af8cbdca49dcd0a26e1b8a82e011bb 100644 (file)
@@ -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"
 
index 19143cfe5ba943ccb8622730f5c0bc4464a201b7..5d6556f5576fdadbfff31d93bc57faa60b98c924 100644 (file)
@@ -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"
 
index 7cd24cccf3ed2cedca08a15df1236415396d975d..017616bcc5bb5ccd0cd014efde9d55898a9d1af8 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile }
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <emmintrin.h>
 
index 8fd3bfc5f85e682498a1ef1e2f2a0e3caf02e5ec..69b913c4103c91027544fa68c7d5d4c98df96e6b 100644 (file)
@@ -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);
index 5c847a70cfb555b4471cd192e644ddfb8e94695b..05eb2eea77f75fdaa19a58b2266c8bafb09ba038 100644 (file)
@@ -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"
 
index b556bf0848e44f9cffacd4d3562bbf6a674553d2..00ed55e3234bbde6cad0dca283379bb0aab8d71b 100644 (file)
@@ -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)));
index 00ff9fd2e6ce4f3d7d7ef7a345596a1b2c522ec7..b92d52100da59ebf1604623c2caec95e126d666b 100644 (file)
@@ -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)));
index 15d05c1b4c3d955725f0edcac4cef1f2a1354e49..ed6478ee57a6cf38550056cb72f31ed68930a0ee 100644 (file)
@@ -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" } } */
index 8e5f51f9d8b23adb3695c3fa590d2ccebc419b81..f5e024cc4250b7a586759a50a2c62ea4f96fd1f6 100644 (file)
@@ -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" } } */
index 2d114b8fd00113216cc23e9fd10b4e826f498d8d..1a5e3e7aab0cba3ce694edc94e3760a8063d6556 100644 (file)
@@ -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__));
 
index 16ba5d59fe43c73d734aaa7ac9f86432e4472be4..9f4d484639fe12c6be1698ee5d54dce022621ed8 100644 (file)
@@ -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" } } */
index ab3dcd0d24a20ddc56635cc27a4d2e32913ab9db..5363e97509b10b7e56b938cecd0c38452bb3aa35 100644 (file)
@@ -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)));
index 07862db603a6331acb42e2f0ae6d7a7ff0591d19..38ea7aed745010ebcb014e6b12de3e2049c6d176 100644 (file)
@@ -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" } } */
index 2e55c251b03fda7ea0a8101cd4a5e32fafd2014d..4a62a1d51b93e701acdf7833d1bd75c68f3ce57e 100644 (file)
@@ -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)));
index 6f0295bc1e0fa0e5cfa54bd55870ee6f3b11fbee..48e2d39a6f4f44bde7c6e46730a2604adb3d3272 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-Os -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index e4132a1165b36a5ec2d07f5e0f9c2a36f50c9d02..bdaca2e55a893f5ddae2585d6554bfbed377f238 100644 (file)
@@ -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," } } */
index 979b5315476733a5c1453523214873aa28749de0..8b63e5526497ca5badf6ce942c400d0f4773e42d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index b639b62996c9665819fda845e933898e176e7d40..e976805e4412a7de7713e21dc176e98c3c382e95 100644 (file)
@@ -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"
index c0021c6a45066d3e6526740731ac7d1fb703ad2b..a6a2f4ee216fd48f19934a0f3cb2209bbc97cebe 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2 -ftree-vectorize" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 60da8ee1501b0ff507e50c0c28b78c142e6bf057..761b91b182d6a939bc90a943b727eead8a422d76 100644 (file)
@@ -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"
index fc59534d906170722347493083293fd9ff59be6d..80ed9c35ba5adbcb1a97ea2826f8d4983196d525 100644 (file)
@@ -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"
index 028d2f8996455c35049570416ccd5ae4b2786afa..372f2c1e1365ce9a4fa38ca03618f7d93e7e400a 100644 (file)
@@ -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"
index 754e59e8487912c7636df52989e1c7a9f4b77ff1..89c9ed4945b8821e7b5bf88c90d90c5a0ede432e 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "pr42542-3.c"
 
index 0a9bfa84f996b5efd14d04c3061b33ec6970ca8e..733853cdc3eb60e9dd276765e1055d1f8be80409 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target 3dnow } */
 /* { dg-options "-O2 -m3dnow" } */
 
 #include "mmx-3dnow-check.h"
index 1be307b970956529b6a52e4e6ce9c782e128e6cb..c8ad09d207b8404f63e093c53bd6e87e64e8e83f 100644 (file)
@@ -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)
index 09464bf922958e1d2ec419e3d278789267f34ea6..797ad575dd19f7089ef7e357060ef5ca864d7374 100644 (file)
@@ -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__));
 
index 4b6fe792575b12d8f91346f01ad8e4e870bff91a..8c5944526189dc76e22fefb882f7262a6ca258cd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 __float128 x, y;
 
index f8075acaed4e31635a70d276457fe17178cb593a..299871585e2d003b07cea592e4620af899460f6f 100644 (file)
@@ -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 } } */
 
index 5cf0714f07b97e2f9a648df8a2bd4a72979e2b74..798551db2aae8614f133a483873b5b8757f17410 100644 (file)
@@ -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"
 
index 3745dbf7f6022595e241b5e579c154db5ca6bb91..c764c0be5180d1e9872e4caf8d5d688599091984 100644 (file)
@@ -1,6 +1,7 @@
 /* PR rtl-optimization/21239 */
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 5a1da7a755fd06d5682d3573b0fea3c6544e0864..ed91ee65d38dee9ae8cb48b1998dd2d552bf2313 100644 (file)
@@ -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
index f7b3d0d1c27498226dd730a36dda1c404d2e5a7e..3386a3b58577a6b1c911fd11df0418b4a1bd035c 100644 (file)
@@ -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();
index fc0224f8f6d185901db11928961764a9bb5a8265..6a1352b828e2620882da8675aeba8c96d4fe80fb 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O3 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 43c090bd4e1e25b71520ce89ff307e45e81334b7..112c3e1cfad305daf3cb090b913188b4ad888f2d 100644 (file)
@@ -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>
index 394ad9d7ec4bf29ab15cae0aafa188c8f7bcbdf7..5d49884ab85fdd3d986294548a13a57fafd73a70 100644 (file)
@@ -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>
 
index 930b23f1f73465936bc82cd4f59bf1472d5cda5b..77131d40d07aaa85b146a9437c7c3563c669b769 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 9cb6f3e07cd45fe6fa8c9cd68af71e3e605f11e7..2658f020effca18618a762aba7d1cc72cb46baeb 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O0 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <xmmintrin.h>
 
index 2c1e81d857b7297d1e3b22617f5dc9b711dd45db..99ff02f1bb1360b19b417425cfdd46e0748baa84 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d81b1bb929eda3fd694ff71b40dd57ef73500252..2297539f5fd184e1e1e4d9ddf66d3e8e981031da 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 36b3c3194abb8e50f2e59ec86985872f89dc1102..0250d6be10e44aca50c71a1c21195f45d604824d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 90902bfcd94d463b9037f2e3a893beeea241b005..9f037ab5fb08cd7628580796986b16c02af8515d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 224a609ad296a93fc6680dc8cd20299945af4036..953f220d1b11e1593bde8c4b6e3f399ef9de0879 100644 (file)
@@ -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"
index e8478d9ad0889562faa084de1cff34aff2c66c11..7229906b0cd466040fb98be01969e68caa1a42ac 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f18cf1617f7fa09a5628563afd90466a589c5d77..03b5b9eab5f4821ada34f49de1ce992f6c498301 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 6bd885527667b79e7e02cb88ce14f9fea91d78e1..720c63e24eec04e10ee2416ff5518268b9390e19 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cf377c490df3bb47387bc3636ba2e701f6d273f3..e33ec712787d3f996bc04bafecd113d606b3cd09 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dd2127bc3d28ff55476ad6f26754fee372e656b5..e41ee0c1f96c009fa45f6a64181517cb6fbb95d0 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 13371172acef6e503c7a5dff4946cebfb6aa9226..9d32b7ad1c80773a84988df42a5f9940631c1b38 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 710aa640fd04c78ea315f63f6562ea1f30d086e4..5726448d76cb472982b41740935365753de9d691 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 5640e398f77f2c959e9f590a0970ad24a67cb7ba..9d85f5cacdc4cef1ba90bc51d28deb570c12315c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a8839a4c537c2c0a12e9dbd1fa5cc75d01b4e588..4b2965e6d64b164ab42133f8c21fbe497847f498 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f25290c2e4e1721ee6a249b45ad1839b813bf2ac..ebcf1539b30c48aefbc3698d53daa4917112d079 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 365d5e70463c210b9449182438ff1dba504affa8..15c8188cdd89cd8a567fb32bc55e7d98cef72704 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 68c2a996da86536959f72a17977a2e31dfc42615..e4dcd11fe90b0dca10f8f26ac2402cc936ab89aa 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 16093ef4f0a25a10adc46fc2cd8763f6c42fd19c..cdc6051d8dab619f523f7666a48beadaadc1defd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 75770eeb1b959134798911417c239a02dab08a19..9c5a0e2b9098c558ae7fdd19731b2ea6f2b0e08f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dfc543f19d185df6446e8d269d921df4acca7200..908e82f43e6e9ae36f6578da69abdf8499815255 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target sse2 } */
 /* { dg-options "-O2 -msse2" } */
 
 #ifndef CHECK_H
index ae0b2c353a7d51a4cdaaa1fe1062f3730acd695f..6f8a7a7b30726be867d222663bd88ab519d92208 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 12ca895fc9fbc775c51b2608666ce7d76d183b8d..cda223ce5d12e0bdfab154488d2f21f0622e4572 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 29d6d86a6bf4255e93365d40760b5988a6a52717..7035c4e6def931620dc1e4537717e69f46054b3b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target sse2 } */
 /* { dg-options "-O2 -msse2" } */
 
 #ifndef CHECK_H
index e8172d38ec4459fa4fbaffd9fc600b87f607491f..eda870d4fd9d70e03942db8f5a76c7cdea67c13b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 93dd62493d0fafb620e84642ec35def07028a18d..eebc2595050c33dd2a1f7009952eccaa7720c122 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1c963a10e5e3b7a8b4414872e41943b8e2e188c9..d80a1a9ecc3efa2f1d6289c60b568725ea16f4b1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a87ec1a1315e224d1e630bb9a6e53dce7b0c2880..d04d6d420989d6b9dbef83f74561206585533bc6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index ec0fe20eefec83f1bc9c5329afa20f25dbece66f..0284a731b05fbf2213d417be77cacfd99bc8b4c9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target sse2 } */
 /* { dg-options "-O2 -msse2" } */
 
 #ifndef CHECK_H
index cc4f9d116786f100a6af710a1ada18cdc4d41db2..2cf160c9ebff59b950b087c3fa963d455c799e04 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e8b9e8c4c875febc36873af7f345c1f680c59d53..fb72320d85d147f415b081c609ab32562ef7e6bf 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 903a5ad74903c163192a9d38c84a4a9204c19058..6528800462ddb7da63d52527475258fc01e917cd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 7dc80a320ed22d4db747fa95202346ca397af894..ef1863c57dc880f7d21cd623c1bc6d82e90af881 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 71e27be60804c43b71670ff088ce88002bcedc36..bcb94055c41a456272345a92a1898a33123fe666 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 3874b2ed526d6b3e288c58763554d63d8975adee..62734820d9571bd783f4848165c6a0210ad268f2 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 5276c7edd3926c6c5f72d6e274aa76fb8ba9050e..43797f707822cafd0e8d1fc5bf491a634599df22 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 43037a577265988068c60782b22ddfa9be2a9afd..eaec22cb3a3c8de5a53ea942ad7c2998e8a1d6dc 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 3ca51a2c3c98faec0c57f97aa21db1a45c9d8c1f..f6360c7694f0e2fc9cd643eb19482270ae331ede 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e2c6829f2ebc06330258265311ffba942af8560e..24377cc25ddb7f00b63c923d89e346737bb66d87 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 9ec53e22c523e861dd876b8e077346bd5b30d40e..e64091e19b41c8957bd9c090a2e39e5057d0a372 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 50dc124b45157732623ea01694a91142eb1c1fa2..3c34d98b9a7fc49eeca66411007966c19d0c50d3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index ca375cb90d977f09a99a37b93438c320eb1d0b7f..fb226a8e8f376623a8628496d9fcc7fa07a7f321 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 0a047dd93fd1ae37289a60754b8867a2064a5619..b8b9dba0c2090f71112217191b5e73b216937605 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index decfd22b5b90d60e59d14c5e957202d58ee80e8a..8298551baf54293038cd32abd2be281609299e66 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 2475bbc354ba0d3919bf71f3a09e66d5807447bb..67f0a87eaeac6f318cc41c3adf8a829aa959d394 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f986e6e255848cc8796126f929f0d71ab0069ecf..a12787b7a45cc1ca939ce4bbb6532e6717c07f75 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cf95b629b503b2a8de8e4d8c686d62b9a895c18e..7599b0523cc8bdca19b8238c82198dbae98905d1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 7bf49dcffa9eeecdb7ecfda9840682acfead1586..ff6c91fda0b6a2639d03ccce9eb794f42be7f983 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index c24e128f48cb0bf3b5cdb39707d959ead701419f..0688dd9b08b37362581439d5f051da9a99756843 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 9ab0195e59665ec7a2b73255647acfa7c94d580e..20e79eac6f10f16bc0fc1a4a1dd7106cbf9683b0 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 82e7671bc5c9453a955cca9b64b82de208edae07..e906cbc2f37da82da31678bf3f0b9965820a20ca 100644 (file)
@@ -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"
index 335c89810b67850f83db72a12813ae39609ac082..e86259acb849e521dbd464e8244417b6d11d755b 100644 (file)
@@ -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"
index 548f2e6254b00cffdb886550d7aaf13a1f2329bb..9e7432b355d54aeb7dfad6561696a836111cb773 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d63aedf06142e26458979259a417a344e50196b5..1bbb741238879d4ea41d00a4eec67f71db211565 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cef6f8d72af4ad4aa65c1475c18c96be8044e295..6a865fe751a75988ad03baa77777af7e95a322a9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d36eaef488cb265c67c6a7ea29a0f82d92431b79..4435ad8063d8b8b38a2dd74f328afcae2fda6085 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index edcb90c7b2335afe3fd882bff13aaee344f51053..204174ecf3f8b16d6fdc567c6f2f3974fc234026 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 9d22df9574480e1594821b36a23e85a9df581779..718b51a412ceb23f316e8d63e6fa7908a6f9b40f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1b4c02a9c989c14bed1bbd583863d4c62bca48ea..edf16f4a896d58f05749d24a0bc6fbae419f78ca 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target sse2 } */
 /* { dg-options "-O2 -msse2" } */
 
 #ifndef CHECK_H
index 3538bd3ad4777443af53921d047b510e2bacaa58..571fd6db0f9038e2dc8a0559a328218dfa970b94 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target sse2 } */
 /* { dg-options "-O2 -msse2" } */
 
 #ifndef CHECK_H
index 98f9987cfd0e45d35bd1f2544dc976363c9c6264..14342ea86867d88c64f4bba9533bc6b89af0b03c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e6e83d10b914cf68d993cce9631f8ea808fa7bd5..f1958f09d1d0087420e62e759a1816c19790a986 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f9bf5851f2113b8b6277ef390f6684dfbd1d5580..6533b4c4b18f1fccc882dd1cb526e9bbe86c2324 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index b5c59b8c5247db0d1b1cdb54ee65cc039a1bd89a..c66e70c4ddd5e2c272429a796a2080514a3fd97a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index c87e9e20de6e75ad77ec88e351e909452d4213f4..737730e6fe92701098692ba38984867f815e10a0 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1b665733e81b4526eab6b65296abea882c4f2c11..777b439f1be9fe513362d4d234594fff044b52e7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4eaa70a76e0d1dbe3688ac80164c9813adce6a84..1d88474aac98515e3e14d689eee4caebc8cd8e8a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a6103261dc494cfa7fa0da44ecd31dfde454cbb1..187b880db57f0c73b604376d37a75e5bd49aae20 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 76532fb32ea615e0a27a090c4efb46d7f7d077f1..3643a8ac8d21757ae16b8ee30520748f81938971 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d176ac0a692b13a31759a06959523303afcf982a..6fd00ae6e33967255a0c51a8bebb586da6eee3f9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d9414ca07be7ea68a3b5231e6bab912716124171..faea05cfcfa8d45c328d7104a9c4822bb3263fe9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index c2d9b048a94f0d97edd71ca54c798f5dd1a378e1..0c910c8cfb6bd1d674ea18986ce703286db66a46 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4867cb42e2d9ed7b2fadb0ea6230963457007677..1363978180b4e7ab735ae27ebfbb3987b9747640 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index bb3bafcf502656a5047a9cbb3729663b52f4ac3a..6b2195e666ec38851e942d40d6eb6ddefccf3f6b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 885ed26098d6b86d6994247377cfb980f117f77b..5fec2f2a46b5ac7bff8821eb705beb664cde84b6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index ee1f038694a24dea633ac3f3d0a154881466e5ce..807287e27b8f16d62e83a67dd5c0d1077f65aec6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 449d141566ec0d50539b45bc65334a1f3e6750be..90a226950eaee7c1fb72dbb4ac9082907311a85b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index db1664fbe7a92ab0aba84b6354e0c62f25821b2b..3ed73299be9789fdf10322e5f3e2303315d33f83 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cab3c1fc94518db3bfacfd79388bf2e6f97990c8..a6a1702d368169bb5381925e37ad48ba724fee0d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 5a300c1987731fe5004112862c1de156b0216297..d9c653fd508a4a2d9634b8634afb98331b20ee97 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cb80431c51082aec3744dbe27b3f9cf7f5059a20..98b4894374114461d7df09a3202d04f43dbdd3f5 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 341e5afacc34dd9dc710ddc515efa8ab8f9a1fe4..4f9bf219950a8e4014205fa3745bc485133dae9d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 240fa0dc1b739e6fd80ac67305a0d14afc723875..7db34ba1572f883c9d9a4f15a661004c125a1bfe 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cb18d111984f420f13fc8a4dce08fa3fb8c05806..d4018925fabfe0bc10efb2188bdc5e12039c176e 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e87e9b113caba7b5b6334ccaf436ca11a6276190..f3415831e349ecfed5fd169d4716c9c0d8498766 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 916ec3c3333a83068c170d9e148adb1d0881049f..34c74e8e6becfadc7cca4dfc1b77e89c25a1c2f1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index bba5eae01a7e865ecd2350b0bfeafdeffeeaefa0..8d035363687128a4e8ac4ca23fbdadf4fe655e6a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index bfa58a9b775707c8877e673e287dfb894c7379f2..835ba365b519db2616a6c70506507aae1c5c4f77 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index df1907a34e95d2589a59303b25fab11ffb8efcf5..c26d02b3985d572c4f1d72db64fdaaf89efc6ddd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index b07fcb6b9165f16a2d39505141bf644bbc0f8558..836f2c6d82a1d1ad9a5ecd29c14fb9927327293d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e5eafc1322666f8b7e24fe8c7ef68aeb4e65fc21..6447aa30b11a78b1df58fc0e3ac59a65750694b6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index ad26ca95771c8f0b9fe17bf1d1a9eb218fcd49a8..5c553d1b672635fc4f8980f29cc41648bdf90ce8 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 953f8dd8a8aac30ae215c78c2f90693166e4be00..6c4598cc4f6b473addf2661ec7ecd9bf064f9a58 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f1f5ff7568e2d26115ed6bd9883d3a95b438238b..fce068c093932062fcdc02fe78a15fcd0abe36c3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index fd6a3d2451479e104c9b7aa85bfaab6f3e1d9989..f77ec6afd67e017827af79f48b59fd1b9b74be1a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 447b5ca295f7afd53f9a424a6365fb24f973ab0c..ac3838930e18fb13d88fb2b383d30d8454d21204 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a68d0659dd385d4d8f121811128a97e4b5c56444..38014b788612348377328e961b01b5f56633dd77 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dac14ef5ce58f0891c0c84f6a946b67137e67b9f..51540c143d763e674e3f1f391f0fc8ca463e67c5 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 7c332ed9ce145bc90f6122e56fa6b7b836df91af..a5a0183bbbd93a9b30233e2fea3483ae0cf55b50 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index c5fa0b2260570c8887b663918c203133949f6723..83e83cb164ec59f3c1a764e634349a7381f06492 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index b106283aa252bd11888b897dc12e70c0983fb134..b0f8834c87b6ae535ac73d8ac2c1cfbf5bb4b734 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4eec55d04aa6c45b4d0f5fafae9656c8aaaf7412..cfff7577d1cd0c1c09859bd30ae604ccd88dfde1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 37496251c55f66750384877d33b9abbf5a6daa86..9915ca4ad1ba8fd534140abad55863ce442b3b03 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4fbde24a5b506bcdecf0028288ed32ee90760693..31474e3234fad323b9e056a320929df0f8bd765f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index adef576e15d649c002a79089b03e991243bdc6d4..17411415b0c8368c22c2c4c1bb568d8b524c3259 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 3189106a448967e9bef645afafb1ee56532f8d43..2d4dc1b9eee8c0fdeaf1499808b80c87cd3a5569 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index cd916ebf3ea7752f9b3fa5ef16bc85018ab34c2c..a07cfc4da844da5703b12243a31f34ef9a0b29f5 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index b20e872ffe1d391a3e10bebea1a1f5b2ebd50260..6792fd3253a18b19030efedd7671dbe1b9b815ed 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1fc5aa406af432e55e1d475da998db6249e60fc1..3153ec45529b89e8773aa54992d2cde70d6ac657 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 22a54b6a95f4c13b202bdb1708c56b372ad7dcef..e3170405e637d0a9989390b14f34c8554320916c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 37091ba8413639ccbdf4d822959092f46f1f97ae..ea27439ae4b9541caa3a3d9df7882d95e1e9473e 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dc24a0f27d2fd04d4c69765c3623d21823c5d924..0b8d5b88809238725085451ea32569bf8a861b23 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 3e0d88f16499d7d340b74271332a9f417909017f..49db1b2c64dbbb7a562ed09026712021884163aa 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index c3823ebee2d7bd1f8fd4ff0424bdd7de9ab01e13..8aa6681b322401d9b2ad0af2a46bcc9ab6d3287b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 0e5773167c24d1ad98c3cd8182dc64b020606854..d310fc45204dfbe52ef5f2f1ee87a572ff700b3d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 0270d92740400dde6d32c390ea90bd1bf65d77da..a5ddce1f39bbfd391e698f6132235a480987376a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 751319164347b16d094c547b0206680cf312b527..c4484bc3025a64765f44d35239e80f3505b723da 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 9c1ce5e873c7d2516cd67b839cd5c4220977eb5e..12ace3775259fbb8792a0880275f1dec17bc8855 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 8c6594079aef67c47c36096bb240d114acbc2359..ee4fb0472ed66402f51b44dde45ac8aaf5973ccf 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e5375f735db3b6c62ae50d2c8d63c03976491bdf..d51ee45bacd6f68246bddf59cd2ba4e35e645c9a 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dbe6a68e18f7c7f7278ecb0917c43639d15564e0..0d4004c3e5a22d1b55d77c9427fde843f858e173 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a8d5b67ddececa4c23e2898c60b55b119e5a1839..a416f57a5b097d788583c7b9f1794d5221e0d7e6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 296a261d3abc1233330008f1b4e1a9d8f528434b..9700a7791c05ee785277a0233b8b44a23203003c 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index fe8c0f431996cd4bbf68a998e4fe244dd57786a6..a31ec689cc30bf243b861295491b3186ef41b668 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d9cb1af5facfa9383c07069dfeff04156edc5205..88308cb108a3822c19370e8eb1d5e7da5d5a9f54 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 85fdbeb427e021c56918427f36dc3ce4e579ffb9..a0f4215388be54ed6c2f4f806bbf4410bf1cf6f8 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e2d8be50c6b35033760aa52175fcb12d9e61005d..dbf08ade1ab26be84a12e9e38e306aab2b761351 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f673b0b9dbc55c07ae9c2ac657edec7b74f50de4..33f30202de7b442d99d43b81fe0d5e207e02c4f1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 7fcef77842ca420f9c5a12aef4630570b5ae21d6..26689aa439a2e0f786faa9df6311aece319e34b5 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4cb60d719ba9fc5407fe90235a598b70bd30cf20..4dbd46bdae288e647610d1e8f212f6c5c99611fd 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1ba04e16223f396fcf4ad62842f7940ded4a0b5d..11fd91e2043f76a5d38a4ca9c2584d17fe375c9f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4e63885e3bee718ca29d8888494e6f80a0cd7331..d3d5a71aab2741415cc532a6d5c54c4671dc68b6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1e7b44f1549a8142ae0f7361a6a65fa9783ea175..c24ee1ee5bcda92a9b6c4ee5c8e716444efa7989 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 4f84ca10d1cc106f52a365fb923c6d628c308760..ce9b885998d3241c54452ece2b55d1b4b12d820d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 8ba26b3484ad1219b69ee543c7b9ba1d08d3a8dd..6736186a01c9260b12adf0123aa131832183f911 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 7e06440a10a7f1cecabcd5f67e3dd68024770e2d..c9d2b90b7af8a8d2bef284db010837725ca0da6f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f4dac40fc999764f581782529a4942946d2006e8..c1f5d0f7434b2e8f533f78ef08517c898a70ae48 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 67510b59c7edeb49a7209311656925c4c1685146..ac32015a72ca2a1514189d721a29752167c5dd73 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 61f19cb2b4984bad557f414fe41e00ca847c8bcb..cc0af7c9fff4ace7cd0c951baaa0f593fdaf8230 100644 (file)
@@ -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
index 918fa5c9155a3f2a3791946164bb486d21cb2bf8..01f2699b73b24dd1ccb42d8a4f7e2b852a2d3494 100644 (file)
@@ -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
index 2c0227dd775e8d9491192a6cc86adde3a7862c1a..3c3ae26fb9555a463977897b2c8357bc2120bbc6 100644 (file)
@@ -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
index cab461e3e386a86eb39f322ae973746fd4d63e1b..e4231a4f7eeda3dccd5caa2439ee26dd110a8602 100644 (file)
@@ -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
index 816c19e20f83297f74d25ee7405b97c87c7dad31..b2a8778dbd365632999b62daf81b2e0fcd15114c 100644 (file)
@@ -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
index 2b4a8be728d35466c1a90f66b1e03fbed7c5e6b9..2d500b7910c0f76f492f46f845602e6a727319e1 100644 (file)
@@ -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
index b5103ac1d75f28e520b4dbc90fff5d924de71539..1afe68bcf5e26a8afcdf2406888e8b2067049227 100644 (file)
@@ -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
index cffa4695c84ec50e3f318991def86b19a93923f6..0a05680a48093d38ff770c3d5c74841bfa707911 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index f1ef347612eb9156f36f7796595c3e6f66612c1d..6095aaa292719dd46bacaf01c99ffb78f53f7560 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 3a476cfa38e13c0fd308fa91ff79301793bbfcba..edbf829e1c6c88890d4dc6479676d0b9240db4ba 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e8ac1b820c98ad3110e698a9ab45b36a6a813162..6a91e218a8514f363ffffdf66fa05f7329e9aa56 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index d70c3f855845920bf805960746b83f39295cd9a6..954f81ad5732e04f1086f22c52a35908d765ceb9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index deae8e70fc8848cf9fc1380e058cbf1a9b9b0494..0bf8708f841a09db48586c1a399556f9f48c086f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 110f7cd4bffae2d2aec8db86c928b68f744bb65a..fd566f059fd3cd18103dab9979113bc9df111fe1 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 1e3a1a60a659037c2f72bc06fd8d38d3e5704c43..df9e09bce2b1724299db25ec0f90ac2879d239b3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 99c9aa2ada4b8f86b936bb5bb040cac24680202b..f65572a4f44dff57dcac5a8d84bcf64b55504843 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 19a730a97b0081f074f818c633bbfdf2fd498c75..b08c4416b438db50c477fa26d6524990fcf940b9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index dd5ed70e274fdbcff4582c2e070500ea7df68b78..bb0bee579570a9f103c789192b810008bb64562f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index a2676396cd3219ef459ac59e0bbf98f37730a80e..ed067082594a8dd12d22c72e7aa9eed760cf5737 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <emmintrin.h>
 
index a682725d14687db678d3b90d1264e2778791306f..a07302c4bc61dae7a005913e128dcbc5bdc41173 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index 0e4a5cce9ff99cad5e25f7bb94489fa918155b6f..3562edc6ffac6b8588cabeafe8c4dfa9b7b617e4 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index ba7e2e8958f6f45816f017c029c1b5d117458196..ab2ca5b221ac5065a26c43385a4f1748b6c2271f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index c7586e14b441e3c1dca14db1594078d52b1c90ba..6f5c514aa3cdb1babc0ff6d861be40944e268a7d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 545dbe0ba0fab34f5e24888275c9eef11f59c7b4..fa18de5a990fa99b13ca5d3967629d25bb1c7cc8 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 31e480659cca3035950ba3b262d0fef219765ae2..0867e9ca8856affb4badd5c90375a2aadaae0fa7 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 7ca45baa2d9f50e5c9fe6e764e3c7bf52b3b16c3..c676bbd3a020802327549eb33925bc1f37c625ec 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index ecd0b331da2373336c9b722c6be23eca2b621249..856c3e70cecc4d2b15e79faab2f8f594baf2f537 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 88cf0d3794cdc23074a19b8ce886b4569b88a1bf..669f5714922f4dd95c89cd40bf1b4ed4e7bad234 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #ifndef CHECK_H
 #define CHECK_H "sse2-check.h"
index e82fa76c5a5e229e50232287fad0f836e20542e2..147a1ecb88d2fc567077bbc5b7c1878681329b7d 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 091b58c84111b44e0863209247e06fc03ff13d8d..604c40493402fb51a6d7388d5b45662005b3b75e 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 8750ddfe298c5d9496671e443b2069f62580e77a..ae4f94a93f921074620ef23f47c5b81033c5b779 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index dcb0a7c58c870108e77c5206c7e24fcfd69093ec..e944eab66181922b9c3633ae840fe7aad0b279c5 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 77018f5740f8d632b5422a81a5a68b414cb56384..37bd60c393087b6922a14b7422c88ee6ba6e56f3 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 326adfd045d6ca57db2c42ca96ebf229043a146b..1980638de174cb230138cd2486e6a08b48307441 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 5df19a62af6905e1ff02bd2e99c055bc9fd028be..700bd571d0711e6b6dd074d212dbbd5c7970cccd 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 2eb33ad49c727bf5547a0c25aa3dec8825f0a701..cbf32066628be921a25e22cd2812b1fa561676c1 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 8f6706cf93971fe9398b820350de2170a6450b72..0d30ccb5b7cf12c41b3c30a4a63acd7dd14a48fb 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 9ae8454e0a59ed3e57d824b381628f3e2100d0b1..1ef2dd1b07f3eaefbfcc51eab88d5be4792c1b1b 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-require-effective-target sse3 } */
 /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
 
 #ifndef CHECK_H
index 09b920ea7cabd546cab36eac759cfa569282d4a8..dfaacf6bdcaed84a1cc9df5031bf766b979dcf9f 100644 (file)
@@ -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" } } */
index eacdfa79392360ee5cb10b364e0bd2ff02d172b3..2d7407eaef846a474046abe715a4b916bec1779e 100644 (file)
@@ -3,6 +3,7 @@
 
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2 -mfpmath=sse" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "sse2-check.h"
 
index 621e362f490ca452bc2aea24c3459fc9229116c3..fdce233173b4e9a436b3efad5a958747478b110e 100644 (file)
@@ -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;
index a6caee398b2d00e85119d12cad6653337015b2ce..0b8b72262b5b5bd83a627a59f83935c8d36db647 100644 (file)
@@ -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;
index 9ee82af44aec75be3018b4e1ba2f7a542a31a760..7475e4f827f67a6fbd0722c8ad9f5836339358bc 100644 (file)
@@ -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.  */
 
index a29cf06bf5c93497c92915caaf7b35ba43bdf0a0..b8fc521264e3dd42d6764f0ce3f990d3b0af6b51 100644 (file)
@@ -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.  */
 
index 7423722d69418255e651305f1bbeb75d46feb1fa..fa41a2c87b993f7c96411e6e231787f8f51164a4 100644 (file)
@@ -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.  */
 
index 6203b6b59712225d2f1b67762570e06d71529524..d0358c5e693113ad692e366d2f4aa1f37ac96f1a 100644 (file)
@@ -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.  */
 
index 61267df9853b14c18eec9aece875923812d5f304..99953b5aa9c03e1fc0113838b8021413b049b9b9 100644 (file)
@@ -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.  */
 
index ef89059b8d801e9c7d511e7b36889d2f63c8dbfa..00ea28574840558b9cebd92046f744f687104b2d 100644 (file)
@@ -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" } } */
index b68a63923fb07d7a1cf4d7a4c890b80cbbbf4e3b..c6a8ba7b548c4b460f177625679809f13173c58b 100644 (file)
@@ -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" } } */
index d6887d5cd20ae552a7779624a5c83c2a0f484de5..0e83e28c468f5b124647e0972af0ebf0cf3bc2d4 100644 (file)
@@ -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" } } */
index 9994b07f21c66b489cfbd014c54fe44260bc5d51..9b68792390d5a8413a699fadddce642461c6507b 100644 (file)
@@ -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" } } */
index 75133e9fa688b693c200cf13a20d7d1f586b23cd..098ed89ad664ca3f9da47c5dafa1dda3e03e8d4f 100644 (file)
@@ -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" } } */
index 49d4b8e076a03d535ca12d6f21386aeda3d9acaf..85de4865d2feb52a6bfc6639af29515cc47dfa45 100644 (file)
@@ -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" } } */
index 1875e0a6973d7ec5efdce524bee9cb00e85750e7..cfb1e30ab0743a2c88b4c15451876a6a9a631021 100644 (file)
@@ -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>
index 0534ac77478f7f85c18c83a99111262e2752cb9b..60793173d6c45d5e47574716027271b9e3a3b60c 100644 (file)
@@ -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>
index a6b5876f5db09f93e9aea06af0ae96e44146ae41..3bfc3f14ce7635958393d1c16b53138ada722378 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <stdarg.h>
 #include <assert.h>
index e2f83b0c4a7917f10b21ed598ddd2d5870092cc5..8034dcadba04c44c11719bece808463c6d95d493 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <stdarg.h>
 #include <assert.h>
index bebf6092492ddc392eea149df9bccb661823100b..0f10d6784db8dea1ea41d01a729875f5ca790903 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <stdarg.h>
 #include <assert.h>
index bf6d3b52327808b6031cc592b12cd78f769f9440..5c5a0b4a19d4fcd3041b93addfdf7452f5745c63 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include <stdarg.h>
 #include <assert.h>
index 8553eb05e4c99d3af5552b3a14377c859899990d..cba7429f242b1370fa075c1c83044d0bb9c22012 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 #define vector __attribute__((vector_size(16)))
 
 float a;
index d6c715fd4f9527603f119838c3b584db567b0229..fdfa837c69859638d38b963d456d434ca8c38962 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 #define vector __attribute__((vector_size(16)))
 
 int a;
index 053b566fbac01cef9772d888a968d65ddae423e9..aae642ae27cd7c1859f6c08c280401bdd76fe7cb 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 #define vector __attribute__((vector_size(16)))
 
 char a;
index 773a3160062f43ed32efcccdc9948b2b809802c2..101b68badc46fe29e74ebe78b6e29653dfd61485 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -msse2" } */
+/* { dg-require-effective-target sse2 } */
 #define vector __attribute__((vector_size(16)))
 
 short a;
index 57648897391f8f21d3c8184739d4191bdd556dc2..b9e7e27c78fe744869de27cd87c12f1b57f75f08 100644 (file)
@@ -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;
index ba58f12606add2b459fcb14285912175b49a5585..3b22043273be1fa556e631b05866cfea82412154 100644 (file)
@@ -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;
index 4196487195971cabd70d3175f09a38f0619dffcb..a7196c70d13c2078758b79a1b532166e4566ed11 100644 (file)
@@ -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];
index 2947acbafda49630998f04eb320225b1fbee5021..e19f8d87bdac4ca3fc126d2955355e150d1d9033 100644 (file)
@@ -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];
index f3d605e228a509f445f1ef5514249042220fddab..9933d2997290d06e65350a9e53fe388e103dd036 100644 (file)
@@ -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.  */
 
index 78ec53d15a81d45842cee73ac62f8468fe834293..41e61aa2ccd34fa41f0cd20e80a5b356ea99006c 100644 (file)
@@ -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];
 
index 10b7ba27868abdf11ac446de884519f5382231ab..eca043bdfa21ce3fb94e21e47ccaadb66730aa05 100644 (file)
@@ -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];
index ed1517b93efcccc987ff07a72ae4cd783e5ef808..e26362035adf3b60f71775bc48f2a16852721903 100644 (file)
@@ -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];
index f17e065e328bdcaa16df189ecdc9c386f69fb174..d0394635c59c96aac99627723c82f670e55ef247 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "isa-check.h"
 
index c6fe5611f66df2334cddc1fb73a077aee2f6823b..940de68af195214bfed1b524f2a255dfe2d1c024 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "isa-check.h"
 
index 663feb3f4880add3baaa4ecaee715f569b28320a..93c25c6826a43f27d0710337cb3cf12bb64e2e43 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 #include "isa-check.h"
 
index 3c268b4cbaa4145a0ef83aa95c45874a7d9255c8..4d3994c88efe6ec9ce1326f29d832e9677af6286 100644 (file)
@@ -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 *-*-* } } } */
 
index 6803a4d89162096d0bbf239f6fffa1b0b5025730..bc2e97d76d6a5149d2c70176468271c6a37f938f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-Os -msse2" } */
+/* { dg-require-effective-target sse2 } */
 
 typedef float __m128 __attribute__ ((vector_size (16)));
 
index c17446a6879dd13bb0f6dee1e697b22f78eb238f..8c9d110b22af46892c86f1384f14e76645276507 100644 (file)
@@ -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)
index d6939daf89ae6d80a15690b6680b266c24b0f508..06ef2b7067338da79c08a847b747de91296d0fef 100644 (file)
@@ -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)
index cf47204e04e03e4d370cf8eda46ec7d104b5cf34..8f196a69ad48b293bcb03ec07869a535813ef0b0 100644 (file)
@@ -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" }
 
 
index d818e7dcf4c401bd9fbe10280c26963396b15982..9f9ed22aef511f632649e43d64bdc37d48eda518 100644 (file)
@@ -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
index 811b4cfcaad44f248adcaecc5a4c2e912f11c04b..72ce9d682cd4a4426770adf4d249582eabef7493 100644 (file)
@@ -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
index 12631fafdfb2ef0501c779c3db51f7e3bf0be820..e742d750c762d5823a6a3237996f7325cc7965b9 100644 (file)
@@ -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"]
index e91c0331516c132a682ca6d487cd6d5a79f68f9e..66413c6dd9b612df04b236960ee16fbfe19925c1 100644 (file)
@@ -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 { } {