From: ro Date: Wed, 19 May 2010 16:10:05 +0000 (+0000) Subject: gcc: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e7c6e48dfe17ad5b13cb03d56db746892ec0458;p=thirdparty%2Fgcc.git gcc: * doc/sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2. (Directives): Document optional dg-require-effective-target selector. gcc/testsuite: * lib/target-supports.exp (check_effective_target_sse2): New proc. * lib/target-supports-dg.exp (dg-require-effective-target): Allow for optional selector. * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. (check_effective_target_sse3): New proc. * gcc.target/i386/math-torture/math-torture.exp: Load target-supports.exp. Only add options with -msse2 to MATH_TORTURE_OPTIONS if check_effective_target_sse2. * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. * g++.dg/vect/vect.exp: Likewise. * gfortran.dg/vect/vect.exp: Likewise. * lib/fortran-torture.exp (get-fortran-torture-options): Only use -msse2 if check_effective_target_sse2. * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. * gcc.target/i386/3dnow-2.c: Likewise. * gcc.target/i386/3dnowA-1.c: Likewise. * gcc.target/i386/3dnowA-2.c: Likewise. * gcc.target/i386/pr42549.c: Likewise. * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. * gcc.target/i386/sse3-addsubps.c: Likewise. * gcc.target/i386/sse3-haddpd.c: Likewise. * gcc.target/i386/sse3-haddps.c: Likewise. * gcc.target/i386/sse3-hsubpd.c: Likewise. * gcc.target/i386/sse3-hsubps.c: Likewise. * gcc.target/i386/sse3-lddqu.c: Likewise. * gcc.target/i386/sse3-movddup.c: Likewise. * gcc.target/i386/sse3-movshdup.c: Likewise. * gcc.target/i386/sse3-movsldup.c: Likewise. * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. * g++.dg/ext/attrib35.C: Likewise. * g++.dg/opt/pr40496.C: Likewise. * g++.dg/other/i386-1.C: Likewise. * g++.dg/other/i386-4.C: Likewise. * g++.dg/other/pr34435.C: Likewise. * g++.dg/other/pr39496.C: Likewise. * g++.dg/other/pr40446.C: Likewise. * gcc.dg/compat/union-m128-1_main.c: Likewise. * gcc.dg/compat/vector-1a_main.c: Likewise. * gcc.dg/compat/vector-2a_main.c: Likewise. * gcc.dg/lto/20090206-1_0.c: Likewise. * gcc.dg/pr34856.c: Likewise. * gcc.dg/pr36584.c: Likewise. * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. * gcc.dg/pr37544.c: Likewise. * gcc.dg/torture/pr16104-1.c: Likewise. * gcc.dg/torture/pr35771-1.c: Likewise. * gcc.dg/torture/pr35771-2.c: Likewise. * gcc.dg/torture/pr35771-3.c: Likewise. * gcc.dg/torture/stackalign/alloca-2.c: Likewise. * gcc.dg/torture/stackalign/alloca-3.c: Likewise. * gcc.dg/torture/stackalign/push-1.c: Likewise. * gcc.dg/torture/stackalign/vararg-3.c: Likewise. * gcc.dg/tree-ssa/prefetch-6.c: Likewise. * gcc.dg/tree-ssa/prefetch-7.c: Likewise. * gcc.dg/vect/vect-debug-pr41926.c: Likewise. * gcc.target/i386/20060512-1.c: Likewise. * gcc.target/i386/20060512-3.c: Likewise. * gcc.target/i386/all_one_m128i.c: Likewise. * gcc.target/i386/float128-1.c: Likewise. * gcc.target/i386/float128-2.c: Likewise. * gcc.target/i386/fpcvt-1.c: Likewise. * gcc.target/i386/fpcvt-2.c: Likewise. * gcc.target/i386/fpcvt-3.c: Likewise. * gcc.target/i386/fpprec-1.c: Likewise. * gcc.target/i386/funcspec-9.c: Likewise. * gcc.target/i386/incoming-1.c: Likewise. * gcc.target/i386/incoming-12.c: Likewise. * gcc.target/i386/incoming-2.c: Likewise. * gcc.target/i386/incoming-3.c: Likewise. * gcc.target/i386/incoming-4.c: Likewise. * gcc.target/i386/incoming-6.c: Likewise. * gcc.target/i386/incoming-7.c: Likewise. * gcc.target/i386/incoming-8.c: Likewise. * gcc.target/i386/opt-1.c: Likewise. * gcc.target/i386/opt-2.c: Likewise. * gcc.target/i386/ordcmp-1.c: Likewise. * gcc.target/i386/pr17692.c: Likewise. * gcc.target/i386/pr18614-1.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/pr23570.c: Likewise. * gcc.target/i386/pr23575.c: Likewise. * gcc.target/i386/pr26449-1.c: Likewise. * gcc.target/i386/pr26600.c: Likewise. * gcc.target/i386/pr27790.c: Likewise. * gcc.target/i386/pr28839.c: Likewise. * gcc.target/i386/pr30970.c: Likewise. * gcc.target/i386/pr32000-1.c: Likewise. * gcc.target/i386/pr32000-2.c: Likewise. * gcc.target/i386/pr32280.c: Likewise. * gcc.target/i386/pr32661.c: Likewise. * gcc.target/i386/pr32708-1.c: Likewise. * gcc.target/i386/pr32961.c: Likewise. * gcc.target/i386/pr33329.c: Likewise. * gcc.target/i386/pr35714.c: Likewise. * gcc.target/i386/pr35767-1.c: Likewise. * gcc.target/i386/pr35767-1d.c: Likewise. * gcc.target/i386/pr35767-1i.c: Likewise. * gcc.target/i386/pr35767-2.c: Likewise. * gcc.target/i386/pr35767-2d.c: Likewise. * gcc.target/i386/pr35767-2i.c: Likewise. * gcc.target/i386/pr35767-3.c: Likewise. * gcc.target/i386/pr35767-5.c: Likewise. * gcc.target/i386/pr36222-1.c: Likewise. * gcc.target/i386/pr36578-1.c: Likewise. * gcc.target/i386/pr36578-2.c: Likewise. * gcc.target/i386/pr36992-1.c: Likewise. * gcc.target/i386/pr37101.c: Likewise. * gcc.target/i386/pr37216.c: Likewise. * gcc.target/i386/pr37434-1.c: Likewise. * gcc.target/i386/pr37434-2.c: Likewise. * gcc.target/i386/pr37843-3.c: Likewise. * gcc.target/i386/pr37843-4.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr39315-1.c: Likewise. * gcc.target/i386/pr39315-2.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr39315-4.c: Likewise. * gcc.target/i386/pr39445.c: Likewise. * gcc.target/i386/pr39496.c: Likewise. * gcc.target/i386/pr40809.c: Likewise. * gcc.target/i386/pr40906-3.c: Likewise. * gcc.target/i386/pr41019.c: Likewise. * gcc.target/i386/pr42542-1.c: Likewise. * gcc.target/i386/pr42542-2.c: Likewise. * gcc.target/i386/pr42542-3.c: Likewise. * gcc.target/i386/pr42542-3a.c: Likewise. * gcc.target/i386/pr42881.c: Likewise. * gcc.target/i386/push-1.c: Likewise. * gcc.target/i386/quad-sse.c: Likewise. * gcc.target/i386/reload-1.c: Likewise. * gcc.target/i386/sse-10.c: Likewise. * gcc.target/i386/sse-11.c: Likewise. * gcc.target/i386/sse-15.c: Likewise. * gcc.target/i386/sse-17.c: Likewise. * gcc.target/i386/sse-18.c: Likewise. * gcc.target/i386/sse-19.c: Likewise. * gcc.target/i386/sse-4.c: Likewise. * gcc.target/i386/sse-6.c: Likewise. * gcc.target/i386/sse-vect-types.c: Likewise. * gcc.target/i386/sse2-addpd-1.c: Likewise. * gcc.target/i386/sse2-addsd-1.c: Likewise. * gcc.target/i386/sse2-andnpd-1.c: Likewise. * gcc.target/i386/sse2-andpd-1.c: Likewise. * gcc.target/i386/sse2-cmpsd-1.c: Likewise. * gcc.target/i386/sse2-comisd-1.c: Likewise. * gcc.target/i386/sse2-comisd-2.c: Likewise. * gcc.target/i386/sse2-comisd-3.c: Likewise. * gcc.target/i386/sse2-comisd-4.c: Likewise. * gcc.target/i386/sse2-comisd-5.c: Likewise. * gcc.target/i386/sse2-comisd-6.c: Likewise. * gcc.target/i386/sse2-copysign-vec.c: Likewise. * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. * gcc.target/i386/sse2-divpd-1.c: Likewise. * gcc.target/i386/sse2-divsd-1.c: Likewise. * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. * gcc.target/i386/sse2-init-v2di-1.c: Likewise. * gcc.target/i386/sse2-init-v4si-1.c: Likewise. * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. * gcc.target/i386/sse2-lrint-vec.c: Likewise. * gcc.target/i386/sse2-lrintf-vec.c: Likewise. * gcc.target/i386/sse2-maxpd-1.c: Likewise. * gcc.target/i386/sse2-maxsd-1.c: Likewise. * gcc.target/i386/sse2-minpd-1.c: Likewise. * gcc.target/i386/sse2-minsd-1.c: Likewise. * gcc.target/i386/sse2-mmx.c: Likewise. * gcc.target/i386/sse2-movapd-1.c: Likewise. * gcc.target/i386/sse2-movapd-2.c: Likewise. * gcc.target/i386/sse2-movd-1.c: Likewise. * gcc.target/i386/sse2-movd-2.c: Likewise. * gcc.target/i386/sse2-movdqa-1.c: Likewise. * gcc.target/i386/sse2-movdqa-2.c: Likewise. * gcc.target/i386/sse2-movdqu-1.c: Likewise. * gcc.target/i386/sse2-movdqu-2.c: Likewise. * gcc.target/i386/sse2-movhpd-1.c: Likewise. * gcc.target/i386/sse2-movhpd-2.c: Likewise. * gcc.target/i386/sse2-movlpd-1.c: Likewise. * gcc.target/i386/sse2-movlpd-2.c: Likewise. * gcc.target/i386/sse2-movmskpd-1.c: Likewise. * gcc.target/i386/sse2-movntdq-1.c: Likewise. * gcc.target/i386/sse2-movntpd-1.c: Likewise. * gcc.target/i386/sse2-movq-1.c: Likewise. * gcc.target/i386/sse2-movq-2.c: Likewise. * gcc.target/i386/sse2-movq-3.c: Likewise. * gcc.target/i386/sse2-movsd-1.c: Likewise. * gcc.target/i386/sse2-movsd-2.c: Likewise. * gcc.target/i386/sse2-movupd-1.c: Likewise. * gcc.target/i386/sse2-movupd-2.c: Likewise. * gcc.target/i386/sse2-mulpd-1.c: Likewise. * gcc.target/i386/sse2-mulsd-1.c: Likewise. * gcc.target/i386/sse2-orpd-1.c: Likewise. * gcc.target/i386/sse2-packssdw-1.c: Likewise. * gcc.target/i386/sse2-packsswb-1.c: Likewise. * gcc.target/i386/sse2-packuswb-1.c: Likewise. * gcc.target/i386/sse2-paddb-1.c: Likewise. * gcc.target/i386/sse2-paddd-1.c: Likewise. * gcc.target/i386/sse2-paddq-1.c: Likewise. * gcc.target/i386/sse2-paddsb-1.c: Likewise. * gcc.target/i386/sse2-paddsw-1.c: Likewise. * gcc.target/i386/sse2-paddusb-1.c: Likewise. * gcc.target/i386/sse2-paddusw-1.c: Likewise. * gcc.target/i386/sse2-paddw-1.c: Likewise. * gcc.target/i386/sse2-pand-1.c: Likewise. * gcc.target/i386/sse2-pandn-1.c: Likewise. * gcc.target/i386/sse2-pavgb-1.c: Likewise. * gcc.target/i386/sse2-pavgw-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. * gcc.target/i386/sse2-pmaxub-1.c: Likewise. * gcc.target/i386/sse2-pminsw-1.c: Likewise. * gcc.target/i386/sse2-pminub-1.c: Likewise. * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. * gcc.target/i386/sse2-pmulhw-1.c: Likewise. * gcc.target/i386/sse2-pmullw-1.c: Likewise. * gcc.target/i386/sse2-pmuludq-1.c: Likewise. * gcc.target/i386/sse2-por-1.c: Likewise. * gcc.target/i386/sse2-psadbw-1.c: Likewise. * gcc.target/i386/sse2-pshufd-1.c: Likewise. * gcc.target/i386/sse2-pshufhw-1.c: Likewise. * gcc.target/i386/sse2-pshuflw-1.c: Likewise. * gcc.target/i386/sse2-pslld-1.c: Likewise. * gcc.target/i386/sse2-pslld-2.c: Likewise. * gcc.target/i386/sse2-pslldq-1.c: Likewise. * gcc.target/i386/sse2-psllq-1.c: Likewise. * gcc.target/i386/sse2-psllq-2.c: Likewise. * gcc.target/i386/sse2-psllw-1.c: Likewise. * gcc.target/i386/sse2-psllw-2.c: Likewise. * gcc.target/i386/sse2-psrad-1.c: Likewise. * gcc.target/i386/sse2-psrad-2.c: Likewise. * gcc.target/i386/sse2-psraw-1.c: Likewise. * gcc.target/i386/sse2-psraw-2.c: Likewise. * gcc.target/i386/sse2-psrld-1.c: Likewise. * gcc.target/i386/sse2-psrld-2.c: Likewise. * gcc.target/i386/sse2-psrldq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-1.c: Likewise. * gcc.target/i386/sse2-psrlq-2.c: Likewise. * gcc.target/i386/sse2-psrlw-1.c: Likewise. * gcc.target/i386/sse2-psrlw-2.c: Likewise. * gcc.target/i386/sse2-psubb-1.c: Likewise. * gcc.target/i386/sse2-psubd-1.c: Likewise. * gcc.target/i386/sse2-psubq-1.c: Likewise. * gcc.target/i386/sse2-psubsb-1.c: Likewise. * gcc.target/i386/sse2-psubsw-1.c: Likewise. * gcc.target/i386/sse2-psubw-1.c: Likewise. * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. * gcc.target/i386/sse2-punpckldq-1.c: Likewise. * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. * gcc.target/i386/sse2-pxor-1.c: Likewise. * gcc.target/i386/sse2-set-epi32-1.c: Likewise. * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. * gcc.target/i386/sse2-shufpd-1.c: Likewise. * gcc.target/i386/sse2-shufps-1.c: Likewise. * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. * gcc.target/i386/sse2-subpd-1.c: Likewise. * gcc.target/i386/sse2-subsd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-1.c: Likewise. * gcc.target/i386/sse2-ucomisd-2.c: Likewise. * gcc.target/i386/sse2-ucomisd-3.c: Likewise. * gcc.target/i386/sse2-ucomisd-4.c: Likewise. * gcc.target/i386/sse2-ucomisd-5.c: Likewise. * gcc.target/i386/sse2-ucomisd-6.c: Likewise. * gcc.target/i386/sse2-unpack-1.c: Likewise. * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. * gcc.target/i386/sse2-vec-1.c: Likewise. * gcc.target/i386/sse2-vec-2.c: Likewise. * gcc.target/i386/sse2-vec-3.c: Likewise. * gcc.target/i386/sse2-vec-4.c: Likewise. * gcc.target/i386/sse2-vec-5.c: Likewise. * gcc.target/i386/sse2-vec-6.c: Likewise. * gcc.target/i386/sse2-xorpd-1.c: Likewise. * gcc.target/i386/ssefn-2.c: Likewise. * gcc.target/i386/ssefn-4.c: Likewise. * gcc.target/i386/ssefp-1.c: Likewise. * gcc.target/i386/ssefp-2.c: Likewise. * gcc.target/i386/sseregparm-3.c: Likewise. * gcc.target/i386/sseregparm-4.c: Likewise. * gcc.target/i386/sseregparm-5.c: Likewise. * gcc.target/i386/sseregparm-6.c: Likewise. * gcc.target/i386/sseregparm-7.c: Likewise. * gcc.target/i386/ssetype-1.c: Likewise. * gcc.target/i386/ssetype-2.c: Likewise. * gcc.target/i386/ssetype-3.c: Likewise. * gcc.target/i386/ssetype-4.c: Likewise. * gcc.target/i386/ssetype-5.c: Likewise. * gcc.target/i386/unordcmp-1.c: Likewise. * gcc.target/i386/vararg-1.c: Likewise. * gcc.target/i386/vararg-2.c: Likewise. * gcc.target/i386/vararg-3.c: Likewise. * gcc.target/i386/vararg-4.c: Likewise. * gcc.target/i386/vararg-7.c: Likewise. * gcc.target/i386/vararg-8.c: Likewise. * gcc.target/i386/vecinit-1.c: Likewise. * gcc.target/i386/vecinit-2.c: Likewise. * gcc.target/i386/vecinit-3.c: Likewise. * gcc.target/i386/vecinit-4.c: Likewise. * gcc.target/i386/vecinit-5.c: Likewise. * gcc.target/i386/vecinit-6.c: Likewise. * gcc.target/i386/vectorize2.c: Likewise. * gcc.target/i386/vectorize3.c: Likewise. * gcc.target/i386/vectorize4.c: Likewise. * gcc.target/i386/vectorize6.c: Likewise. * gcc.target/i386/vectorize7.c: Likewise. * gcc.target/i386/vectorize8.c: Likewise. * gcc.target/i386/vperm-v2df.c: Likewise. * gcc.target/i386/vperm-v2di.c: Likewise. * gcc.target/i386/vperm-v4si-1.c: Likewise. * gcc.target/i386/xorps-sse2.c: Likewise. * gcc.target/i386/xorps.c: Likewise. * gfortran.dg/graphite/pr42326-1.f90: Likewise. * gfortran.dg/graphite/pr42326.f90: Likewise. * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159584 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5eb9e02379bb..4167712f49b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-05-19 Rainer Orth + + * doc/sourcebuild.texi (Effective-Target Keywords): Document + 3dnow, sse3, sse2. + (Directives): Document optional dg-require-effective-target + selector. + 2010-05-19 Richard Guenther PR lto/44196 diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 14397b78653a..a27aea2123ff 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1094,9 +1094,12 @@ but not if @code{-fpic} is also present: /* @{ dg-skip-if "" @{ *-*-* @} @{ "-O2 -g" "-O3 -g" @} @{ "-fpic" @} @} */ @end smallexample -@item @{ dg-require-effective-target @var{keyword} @} +@item @{ dg-require-effective-target @var{keyword} [@{ @var{selector} @}] @} Skip the test if the test target, including current multilib flags, is not covered by the effective-target keyword. +If the directive includes the optional @samp{@{ @var{selector} @}} +then the effective-target test is only performed if the target system +matches the @var{selector}. This directive must appear after any @code{dg-do} directive in the test and before any @code{dg-additional-sources} directive. @xref{Effective-Target Keywords, , }. @@ -1595,6 +1598,9 @@ Target uses a ColdFire FPU. @item hard_float Target supports FPU instructions. +@item sse2 +Target supports compiling @code{sse2} instructions. + @item sync_char_short Target supports atomic operations on @code{char} and @code{short}. @@ -1794,6 +1800,9 @@ Target supports @code{wchar_t} that is compatible with @code{char32_t}. @subsubsection Local to tests in @code{gcc.target/i386} @table @code +@item 3dnow +Target supports compiling @code{3dnow} instructions. + @item aes Target supports compiling @code{aes} instructions. @@ -1806,6 +1815,9 @@ Target supports attribute @code{ms_hook_prologue}. @item pclmul Target supports compiling @code{pclmul} instructions. +@item sse3 +Target supports compiling @code{sse3} instructions. + @item sse4 Target supports compiling @code{sse4} instructions. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4de8c08286e0..d68e7c6f34a5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,356 @@ +2010-05-19 Rainer Orth + + * lib/target-supports.exp (check_effective_target_sse2): New proc. + * lib/target-supports-dg.exp (dg-require-effective-target): Allow + for optional selector. + * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc. + (check_effective_target_sse3): New proc. + * gcc.target/i386/math-torture/math-torture.exp: Load + target-supports.exp. + Only add options with -msse2 to MATH_TORTURE_OPTIONS if + check_effective_target_sse2. + * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2. + * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise. + * g++.dg/vect/vect.exp: Likewise. + * gfortran.dg/vect/vect.exp: Likewise. + * lib/fortran-torture.exp (get-fortran-torture-options): Only use + -msse2 if check_effective_target_sse2. + + * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow. + * gcc.target/i386/3dnow-2.c: Likewise. + * gcc.target/i386/3dnowA-1.c: Likewise. + * gcc.target/i386/3dnowA-2.c: Likewise. + * gcc.target/i386/pr42549.c: Likewise. + + * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3. + * gcc.target/i386/sse3-addsubps.c: Likewise. + * gcc.target/i386/sse3-haddpd.c: Likewise. + * gcc.target/i386/sse3-haddps.c: Likewise. + * gcc.target/i386/sse3-hsubpd.c: Likewise. + * gcc.target/i386/sse3-hsubps.c: Likewise. + * gcc.target/i386/sse3-lddqu.c: Likewise. + * gcc.target/i386/sse3-movddup.c: Likewise. + * gcc.target/i386/sse3-movshdup.c: Likewise. + * gcc.target/i386/sse3-movsldup.c: Likewise. + + * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2. + * g++.dg/ext/attrib35.C: Likewise. + * g++.dg/opt/pr40496.C: Likewise. + * g++.dg/other/i386-1.C: Likewise. + * g++.dg/other/i386-4.C: Likewise. + * g++.dg/other/pr34435.C: Likewise. + * g++.dg/other/pr39496.C: Likewise. + * g++.dg/other/pr40446.C: Likewise. + * gcc.dg/compat/union-m128-1_main.c: Likewise. + * gcc.dg/compat/vector-1a_main.c: Likewise. + * gcc.dg/compat/vector-2a_main.c: Likewise. + * gcc.dg/lto/20090206-1_0.c: Likewise. + * gcc.dg/pr34856.c: Likewise. + * gcc.dg/pr36584.c: Likewise. + * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number. + * gcc.dg/pr37544.c: Likewise. + * gcc.dg/torture/pr16104-1.c: Likewise. + * gcc.dg/torture/pr35771-1.c: Likewise. + * gcc.dg/torture/pr35771-2.c: Likewise. + * gcc.dg/torture/pr35771-3.c: Likewise. + * gcc.dg/torture/stackalign/alloca-2.c: Likewise. + * gcc.dg/torture/stackalign/alloca-3.c: Likewise. + * gcc.dg/torture/stackalign/push-1.c: Likewise. + * gcc.dg/torture/stackalign/vararg-3.c: Likewise. + * gcc.dg/tree-ssa/prefetch-6.c: Likewise. + * gcc.dg/tree-ssa/prefetch-7.c: Likewise. + * gcc.dg/vect/vect-debug-pr41926.c: Likewise. + * gcc.target/i386/20060512-1.c: Likewise. + * gcc.target/i386/20060512-3.c: Likewise. + * gcc.target/i386/all_one_m128i.c: Likewise. + * gcc.target/i386/float128-1.c: Likewise. + * gcc.target/i386/float128-2.c: Likewise. + * gcc.target/i386/fpcvt-1.c: Likewise. + * gcc.target/i386/fpcvt-2.c: Likewise. + * gcc.target/i386/fpcvt-3.c: Likewise. + * gcc.target/i386/fpprec-1.c: Likewise. + * gcc.target/i386/funcspec-9.c: Likewise. + * gcc.target/i386/incoming-1.c: Likewise. + * gcc.target/i386/incoming-12.c: Likewise. + * gcc.target/i386/incoming-2.c: Likewise. + * gcc.target/i386/incoming-3.c: Likewise. + * gcc.target/i386/incoming-4.c: Likewise. + * gcc.target/i386/incoming-6.c: Likewise. + * gcc.target/i386/incoming-7.c: Likewise. + * gcc.target/i386/incoming-8.c: Likewise. + * gcc.target/i386/opt-1.c: Likewise. + * gcc.target/i386/opt-2.c: Likewise. + * gcc.target/i386/ordcmp-1.c: Likewise. + * gcc.target/i386/pr17692.c: Likewise. + * gcc.target/i386/pr18614-1.c: Likewise. + * gcc.target/i386/pr22152.c: Likewise. + * gcc.target/i386/pr23570.c: Likewise. + * gcc.target/i386/pr23575.c: Likewise. + * gcc.target/i386/pr26449-1.c: Likewise. + * gcc.target/i386/pr26600.c: Likewise. + * gcc.target/i386/pr27790.c: Likewise. + * gcc.target/i386/pr28839.c: Likewise. + * gcc.target/i386/pr30970.c: Likewise. + * gcc.target/i386/pr32000-1.c: Likewise. + * gcc.target/i386/pr32000-2.c: Likewise. + * gcc.target/i386/pr32280.c: Likewise. + * gcc.target/i386/pr32661.c: Likewise. + * gcc.target/i386/pr32708-1.c: Likewise. + * gcc.target/i386/pr32961.c: Likewise. + * gcc.target/i386/pr33329.c: Likewise. + * gcc.target/i386/pr35714.c: Likewise. + * gcc.target/i386/pr35767-1.c: Likewise. + * gcc.target/i386/pr35767-1d.c: Likewise. + * gcc.target/i386/pr35767-1i.c: Likewise. + * gcc.target/i386/pr35767-2.c: Likewise. + * gcc.target/i386/pr35767-2d.c: Likewise. + * gcc.target/i386/pr35767-2i.c: Likewise. + * gcc.target/i386/pr35767-3.c: Likewise. + * gcc.target/i386/pr35767-5.c: Likewise. + * gcc.target/i386/pr36222-1.c: Likewise. + * gcc.target/i386/pr36578-1.c: Likewise. + * gcc.target/i386/pr36578-2.c: Likewise. + * gcc.target/i386/pr36992-1.c: Likewise. + * gcc.target/i386/pr37101.c: Likewise. + * gcc.target/i386/pr37216.c: Likewise. + * gcc.target/i386/pr37434-1.c: Likewise. + * gcc.target/i386/pr37434-2.c: Likewise. + * gcc.target/i386/pr37843-3.c: Likewise. + * gcc.target/i386/pr37843-4.c: Likewise. + * gcc.target/i386/pr39162.c: Likewise. + * gcc.target/i386/pr39315-1.c: Likewise. + * gcc.target/i386/pr39315-2.c: Likewise. + * gcc.target/i386/pr39315-3.c: Likewise. + * gcc.target/i386/pr39315-4.c: Likewise. + * gcc.target/i386/pr39445.c: Likewise. + * gcc.target/i386/pr39496.c: Likewise. + * gcc.target/i386/pr40809.c: Likewise. + * gcc.target/i386/pr40906-3.c: Likewise. + * gcc.target/i386/pr41019.c: Likewise. + * gcc.target/i386/pr42542-1.c: Likewise. + * gcc.target/i386/pr42542-2.c: Likewise. + * gcc.target/i386/pr42542-3.c: Likewise. + * gcc.target/i386/pr42542-3a.c: Likewise. + * gcc.target/i386/pr42881.c: Likewise. + * gcc.target/i386/push-1.c: Likewise. + * gcc.target/i386/quad-sse.c: Likewise. + * gcc.target/i386/reload-1.c: Likewise. + * gcc.target/i386/sse-10.c: Likewise. + * gcc.target/i386/sse-11.c: Likewise. + * gcc.target/i386/sse-15.c: Likewise. + * gcc.target/i386/sse-17.c: Likewise. + * gcc.target/i386/sse-18.c: Likewise. + * gcc.target/i386/sse-19.c: Likewise. + * gcc.target/i386/sse-4.c: Likewise. + * gcc.target/i386/sse-6.c: Likewise. + * gcc.target/i386/sse-vect-types.c: Likewise. + * gcc.target/i386/sse2-addpd-1.c: Likewise. + * gcc.target/i386/sse2-addsd-1.c: Likewise. + * gcc.target/i386/sse2-andnpd-1.c: Likewise. + * gcc.target/i386/sse2-andpd-1.c: Likewise. + * gcc.target/i386/sse2-cmpsd-1.c: Likewise. + * gcc.target/i386/sse2-comisd-1.c: Likewise. + * gcc.target/i386/sse2-comisd-2.c: Likewise. + * gcc.target/i386/sse2-comisd-3.c: Likewise. + * gcc.target/i386/sse2-comisd-4.c: Likewise. + * gcc.target/i386/sse2-comisd-5.c: Likewise. + * gcc.target/i386/sse2-comisd-6.c: Likewise. + * gcc.target/i386/sse2-copysign-vec.c: Likewise. + * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise. + * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise. + * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise. + * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise. + * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise. + * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. + * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise. + * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise. + * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. + * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise. + * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise. + * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise. + * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. + * gcc.target/i386/sse2-divpd-1.c: Likewise. + * gcc.target/i386/sse2-divsd-1.c: Likewise. + * gcc.target/i386/sse2-init-v16qi-1.c: Likewise. + * gcc.target/i386/sse2-init-v2di-1.c: Likewise. + * gcc.target/i386/sse2-init-v4si-1.c: Likewise. + * gcc.target/i386/sse2-init-v8hi-1.c: Likewise. + * gcc.target/i386/sse2-lrint-vec.c: Likewise. + * gcc.target/i386/sse2-lrintf-vec.c: Likewise. + * gcc.target/i386/sse2-maxpd-1.c: Likewise. + * gcc.target/i386/sse2-maxsd-1.c: Likewise. + * gcc.target/i386/sse2-minpd-1.c: Likewise. + * gcc.target/i386/sse2-minsd-1.c: Likewise. + * gcc.target/i386/sse2-mmx.c: Likewise. + * gcc.target/i386/sse2-movapd-1.c: Likewise. + * gcc.target/i386/sse2-movapd-2.c: Likewise. + * gcc.target/i386/sse2-movd-1.c: Likewise. + * gcc.target/i386/sse2-movd-2.c: Likewise. + * gcc.target/i386/sse2-movdqa-1.c: Likewise. + * gcc.target/i386/sse2-movdqa-2.c: Likewise. + * gcc.target/i386/sse2-movdqu-1.c: Likewise. + * gcc.target/i386/sse2-movdqu-2.c: Likewise. + * gcc.target/i386/sse2-movhpd-1.c: Likewise. + * gcc.target/i386/sse2-movhpd-2.c: Likewise. + * gcc.target/i386/sse2-movlpd-1.c: Likewise. + * gcc.target/i386/sse2-movlpd-2.c: Likewise. + * gcc.target/i386/sse2-movmskpd-1.c: Likewise. + * gcc.target/i386/sse2-movntdq-1.c: Likewise. + * gcc.target/i386/sse2-movntpd-1.c: Likewise. + * gcc.target/i386/sse2-movq-1.c: Likewise. + * gcc.target/i386/sse2-movq-2.c: Likewise. + * gcc.target/i386/sse2-movq-3.c: Likewise. + * gcc.target/i386/sse2-movsd-1.c: Likewise. + * gcc.target/i386/sse2-movsd-2.c: Likewise. + * gcc.target/i386/sse2-movupd-1.c: Likewise. + * gcc.target/i386/sse2-movupd-2.c: Likewise. + * gcc.target/i386/sse2-mulpd-1.c: Likewise. + * gcc.target/i386/sse2-mulsd-1.c: Likewise. + * gcc.target/i386/sse2-orpd-1.c: Likewise. + * gcc.target/i386/sse2-packssdw-1.c: Likewise. + * gcc.target/i386/sse2-packsswb-1.c: Likewise. + * gcc.target/i386/sse2-packuswb-1.c: Likewise. + * gcc.target/i386/sse2-paddb-1.c: Likewise. + * gcc.target/i386/sse2-paddd-1.c: Likewise. + * gcc.target/i386/sse2-paddq-1.c: Likewise. + * gcc.target/i386/sse2-paddsb-1.c: Likewise. + * gcc.target/i386/sse2-paddsw-1.c: Likewise. + * gcc.target/i386/sse2-paddusb-1.c: Likewise. + * gcc.target/i386/sse2-paddusw-1.c: Likewise. + * gcc.target/i386/sse2-paddw-1.c: Likewise. + * gcc.target/i386/sse2-pand-1.c: Likewise. + * gcc.target/i386/sse2-pandn-1.c: Likewise. + * gcc.target/i386/sse2-pavgb-1.c: Likewise. + * gcc.target/i386/sse2-pavgw-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise. + * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise. + * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise. + * gcc.target/i386/sse2-pmaddwd-1.c: Likewise. + * gcc.target/i386/sse2-pmaxsw-1.c: Likewise. + * gcc.target/i386/sse2-pmaxub-1.c: Likewise. + * gcc.target/i386/sse2-pminsw-1.c: Likewise. + * gcc.target/i386/sse2-pminub-1.c: Likewise. + * gcc.target/i386/sse2-pmovmskb-1.c: Likewise. + * gcc.target/i386/sse2-pmulhuw-1.c: Likewise. + * gcc.target/i386/sse2-pmulhw-1.c: Likewise. + * gcc.target/i386/sse2-pmullw-1.c: Likewise. + * gcc.target/i386/sse2-pmuludq-1.c: Likewise. + * gcc.target/i386/sse2-por-1.c: Likewise. + * gcc.target/i386/sse2-psadbw-1.c: Likewise. + * gcc.target/i386/sse2-pshufd-1.c: Likewise. + * gcc.target/i386/sse2-pshufhw-1.c: Likewise. + * gcc.target/i386/sse2-pshuflw-1.c: Likewise. + * gcc.target/i386/sse2-pslld-1.c: Likewise. + * gcc.target/i386/sse2-pslld-2.c: Likewise. + * gcc.target/i386/sse2-pslldq-1.c: Likewise. + * gcc.target/i386/sse2-psllq-1.c: Likewise. + * gcc.target/i386/sse2-psllq-2.c: Likewise. + * gcc.target/i386/sse2-psllw-1.c: Likewise. + * gcc.target/i386/sse2-psllw-2.c: Likewise. + * gcc.target/i386/sse2-psrad-1.c: Likewise. + * gcc.target/i386/sse2-psrad-2.c: Likewise. + * gcc.target/i386/sse2-psraw-1.c: Likewise. + * gcc.target/i386/sse2-psraw-2.c: Likewise. + * gcc.target/i386/sse2-psrld-1.c: Likewise. + * gcc.target/i386/sse2-psrld-2.c: Likewise. + * gcc.target/i386/sse2-psrldq-1.c: Likewise. + * gcc.target/i386/sse2-psrlq-1.c: Likewise. + * gcc.target/i386/sse2-psrlq-2.c: Likewise. + * gcc.target/i386/sse2-psrlw-1.c: Likewise. + * gcc.target/i386/sse2-psrlw-2.c: Likewise. + * gcc.target/i386/sse2-psubb-1.c: Likewise. + * gcc.target/i386/sse2-psubd-1.c: Likewise. + * gcc.target/i386/sse2-psubq-1.c: Likewise. + * gcc.target/i386/sse2-psubsb-1.c: Likewise. + * gcc.target/i386/sse2-psubsw-1.c: Likewise. + * gcc.target/i386/sse2-psubw-1.c: Likewise. + * gcc.target/i386/sse2-punpckhbw-1.c: Likewise. + * gcc.target/i386/sse2-punpckhdq-1.c: Likewise. + * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise. + * gcc.target/i386/sse2-punpckhwd-1.c: Likewise. + * gcc.target/i386/sse2-punpcklbw-1.c: Likewise. + * gcc.target/i386/sse2-punpckldq-1.c: Likewise. + * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise. + * gcc.target/i386/sse2-punpcklwd-1.c: Likewise. + * gcc.target/i386/sse2-pxor-1.c: Likewise. + * gcc.target/i386/sse2-set-epi32-1.c: Likewise. + * gcc.target/i386/sse2-set-epi64x-1.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-1.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-2.c: Likewise. + * gcc.target/i386/sse2-set-v16qi-3.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-1.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-2.c: Likewise. + * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise. + * gcc.target/i386/sse2-shufpd-1.c: Likewise. + * gcc.target/i386/sse2-shufps-1.c: Likewise. + * gcc.target/i386/sse2-sqrtpd-1.c: Likewise. + * gcc.target/i386/sse2-subpd-1.c: Likewise. + * gcc.target/i386/sse2-subsd-1.c: Likewise. + * gcc.target/i386/sse2-ucomisd-1.c: Likewise. + * gcc.target/i386/sse2-ucomisd-2.c: Likewise. + * gcc.target/i386/sse2-ucomisd-3.c: Likewise. + * gcc.target/i386/sse2-ucomisd-4.c: Likewise. + * gcc.target/i386/sse2-ucomisd-5.c: Likewise. + * gcc.target/i386/sse2-ucomisd-6.c: Likewise. + * gcc.target/i386/sse2-unpack-1.c: Likewise. + * gcc.target/i386/sse2-unpckhpd-1.c: Likewise. + * gcc.target/i386/sse2-unpcklpd-1.c: Likewise. + * gcc.target/i386/sse2-vec-1.c: Likewise. + * gcc.target/i386/sse2-vec-2.c: Likewise. + * gcc.target/i386/sse2-vec-3.c: Likewise. + * gcc.target/i386/sse2-vec-4.c: Likewise. + * gcc.target/i386/sse2-vec-5.c: Likewise. + * gcc.target/i386/sse2-vec-6.c: Likewise. + * gcc.target/i386/sse2-xorpd-1.c: Likewise. + * gcc.target/i386/ssefn-2.c: Likewise. + * gcc.target/i386/ssefn-4.c: Likewise. + * gcc.target/i386/ssefp-1.c: Likewise. + * gcc.target/i386/ssefp-2.c: Likewise. + * gcc.target/i386/sseregparm-3.c: Likewise. + * gcc.target/i386/sseregparm-4.c: Likewise. + * gcc.target/i386/sseregparm-5.c: Likewise. + * gcc.target/i386/sseregparm-6.c: Likewise. + * gcc.target/i386/sseregparm-7.c: Likewise. + * gcc.target/i386/ssetype-1.c: Likewise. + * gcc.target/i386/ssetype-2.c: Likewise. + * gcc.target/i386/ssetype-3.c: Likewise. + * gcc.target/i386/ssetype-4.c: Likewise. + * gcc.target/i386/ssetype-5.c: Likewise. + * gcc.target/i386/unordcmp-1.c: Likewise. + * gcc.target/i386/vararg-1.c: Likewise. + * gcc.target/i386/vararg-2.c: Likewise. + * gcc.target/i386/vararg-3.c: Likewise. + * gcc.target/i386/vararg-4.c: Likewise. + * gcc.target/i386/vararg-7.c: Likewise. + * gcc.target/i386/vararg-8.c: Likewise. + * gcc.target/i386/vecinit-1.c: Likewise. + * gcc.target/i386/vecinit-2.c: Likewise. + * gcc.target/i386/vecinit-3.c: Likewise. + * gcc.target/i386/vecinit-4.c: Likewise. + * gcc.target/i386/vecinit-5.c: Likewise. + * gcc.target/i386/vecinit-6.c: Likewise. + * gcc.target/i386/vectorize2.c: Likewise. + * gcc.target/i386/vectorize3.c: Likewise. + * gcc.target/i386/vectorize4.c: Likewise. + * gcc.target/i386/vectorize6.c: Likewise. + * gcc.target/i386/vectorize7.c: Likewise. + * gcc.target/i386/vectorize8.c: Likewise. + * gcc.target/i386/vperm-v2df.c: Likewise. + * gcc.target/i386/vperm-v2di.c: Likewise. + * gcc.target/i386/vperm-v4si-1.c: Likewise. + * gcc.target/i386/xorps-sse2.c: Likewise. + * gcc.target/i386/xorps.c: Likewise. + * gfortran.dg/graphite/pr42326-1.f90: Likewise. + * gfortran.dg/graphite/pr42326.f90: Likewise. + * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. + 2010-05-19 Richard Guenther PR lto/44196 diff --git a/gcc/testsuite/g++.dg/abi/mangle42.C b/gcc/testsuite/g++.dg/abi/mangle42.C index 730781b300b3..b7e3bd561eb5 100644 --- a/gcc/testsuite/g++.dg/abi/mangle42.C +++ b/gcc/testsuite/g++.dg/abi/mangle42.C @@ -1,6 +1,7 @@ // Origin: PR c++/43375 // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-options "-msse2 -std=gnu++0x" } +// { dg-require-effective-target sse2 } typedef float __v4sf __attribute__ ((__vector_size__ (16))); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/g++.dg/ext/attrib35.C b/gcc/testsuite/g++.dg/ext/attrib35.C index 63892e1e3384..e60a59dffb78 100644 --- a/gcc/testsuite/g++.dg/ext/attrib35.C +++ b/gcc/testsuite/g++.dg/ext/attrib35.C @@ -1,5 +1,6 @@ // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-options "-O3 -msse2" } +// { dg-require-effective-target sse2 } // You can make NON-template typedefs with a large alignment. typedef double AlignedDoubleType __attribute__((aligned(16))); diff --git a/gcc/testsuite/g++.dg/opt/pr40496.C b/gcc/testsuite/g++.dg/opt/pr40496.C index b0eaebf702fa..961f067aff24 100644 --- a/gcc/testsuite/g++.dg/opt/pr40496.C +++ b/gcc/testsuite/g++.dg/opt/pr40496.C @@ -1,5 +1,6 @@ // { dg-do compile } // { dg-options "-O2 -fprefetch-loop-arrays -msse2" { target i?86-*-* x86_64-*-* } } +// { dg-require-effective-target sse2 { target i?86-*-* x86_64-*-* } } struct DOMStringHandle { diff --git a/gcc/testsuite/g++.dg/other/i386-1.C b/gcc/testsuite/g++.dg/other/i386-1.C index 853f913db1e9..5a91e603660d 100644 --- a/gcc/testsuite/g++.dg/other/i386-1.C +++ b/gcc/testsuite/g++.dg/other/i386-1.C @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/i386-4.C b/gcc/testsuite/g++.dg/other/i386-4.C index 3e0d94e952cd..858a3a74e00a 100644 --- a/gcc/testsuite/g++.dg/other/i386-4.C +++ b/gcc/testsuite/g++.dg/other/i386-4.C @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-O1 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/pr34435.C b/gcc/testsuite/g++.dg/other/pr34435.C index 5352a40eb691..107ff6a088b5 100644 --- a/gcc/testsuite/g++.dg/other/pr34435.C +++ b/gcc/testsuite/g++.dg/other/pr34435.C @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2 -Wno-abi" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/g++.dg/other/pr39496.C b/gcc/testsuite/g++.dg/other/pr39496.C index 5b1e76c7576a..3791434e4362 100644 --- a/gcc/testsuite/g++.dg/other/pr39496.C +++ b/gcc/testsuite/g++.dg/other/pr39496.C @@ -1,6 +1,7 @@ // PR target/39496 // { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } // { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } +// { dg-require-effective-target sse2 } // Verify that {foo,bar}{,2}param are all passed on the stack, using // normal calling conventions, when not optimizing. // { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } diff --git a/gcc/testsuite/g++.dg/other/pr40446.C b/gcc/testsuite/g++.dg/other/pr40446.C index 33dbcec71591..dd0aa4820750 100644 --- a/gcc/testsuite/g++.dg/other/pr40446.C +++ b/gcc/testsuite/g++.dg/other/pr40446.C @@ -1,6 +1,7 @@ // PR middle-end/40446 // { dg-do run { target i?86-*-* x86_64-*-* } } // { dg-options "-O1 -msse2" } +// { dg-require-effective-target sse2 } #include #include "cpuid.h" diff --git a/gcc/testsuite/g++.dg/vect/vect.exp b/gcc/testsuite/g++.dg/vect/vect.exp index b735c2233344..65a0235af12f 100644 --- a/gcc/testsuite/g++.dg/vect/vect.exp +++ b/gcc/testsuite/g++.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -75,6 +75,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c b/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c index 11f872154eba..cfd081db8966 100644 --- a/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c +++ b/gcc/testsuite/gcc.dg/compat/union-m128-1_main.c @@ -1,5 +1,6 @@ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-O" } */ +/* { dg-require-effective-target sse2 } */ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/compat/vector-1a_main.c b/gcc/testsuite/gcc.dg/compat/vector-1a_main.c index 76fb2915e1d0..c5acc35f4d81 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-1a_main.c +++ b/gcc/testsuite/gcc.dg/compat/vector-1a_main.c @@ -1,4 +1,5 @@ /* { dg-skip-if "test SSE2 vector" { ! { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 } */ /* Test compatibility of vector types: layout between separately-compiled modules, parameter passing, and function return. This test uses diff --git a/gcc/testsuite/gcc.dg/compat/vector-2a_main.c b/gcc/testsuite/gcc.dg/compat/vector-2a_main.c index 96c1111fddcd..164c4b25e2e6 100644 --- a/gcc/testsuite/gcc.dg/compat/vector-2a_main.c +++ b/gcc/testsuite/gcc.dg/compat/vector-2a_main.c @@ -1,4 +1,5 @@ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 } */ /* Test compatibility of vector types: layout between separately-compiled modules, parameter passing, and function return. This test uses diff --git a/gcc/testsuite/gcc.dg/lto/20090206-1_0.c b/gcc/testsuite/gcc.dg/lto/20090206-1_0.c index 13cd88611833..1fabb9192ce7 100644 --- a/gcc/testsuite/gcc.dg/lto/20090206-1_0.c +++ b/gcc/testsuite/gcc.dg/lto/20090206-1_0.c @@ -1,6 +1,7 @@ /* { dg-lto-do link } */ /* { dg-skip-if "" { ! { i?86-*-linux* x86_64-*-linux* } } { "*" } { "" } } */ /* { dg-lto-options {{-fPIC -r -nostdlib -fwhopr -msse2}} } */ +/* { dg-require-effective-target sse2 } */ /* { dg-suppress-ld-options {-fPIC -msse2} } */ typedef short v8hi __attribute__((__vector_size__(16))); diff --git a/gcc/testsuite/gcc.dg/pr34856.c b/gcc/testsuite/gcc.dg/pr34856.c index 6bfc704774f0..76499f7b8f5d 100644 --- a/gcc/testsuite/gcc.dg/pr34856.c +++ b/gcc/testsuite/gcc.dg/pr34856.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -msse2" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-O2 -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } } */ typedef unsigned __attribute__ ((__mode__ (__pointer__))) uintptr_t; diff --git a/gcc/testsuite/gcc.dg/pr36584.c b/gcc/testsuite/gcc.dg/pr36584.c index 7d83ece3339d..a39eb572e1d0 100644 --- a/gcc/testsuite/gcc.dg/pr36584.c +++ b/gcc/testsuite/gcc.dg/pr36584.c @@ -1,7 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -lm" } */ /* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ - +/* { dg-require-effective-target sse2 { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ #ifdef __i386__ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/pr36997.c b/gcc/testsuite/gcc.dg/pr36997.c index 13461b8a1347..51b06a7791ca 100644 --- a/gcc/testsuite/gcc.dg/pr36997.c +++ b/gcc/testsuite/gcc.dg/pr36997.c @@ -1,9 +1,10 @@ /* { dg-do compile { target x86_64-*-* i?86-*-* } } */ /* { dg-options "-std=c99 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__)); __m64 _mm_add_si64 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */ - /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 7 } */ + /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 8 } */ } diff --git a/gcc/testsuite/gcc.dg/pr37544.c b/gcc/testsuite/gcc.dg/pr37544.c index 6393d2f89d8c..efca1db6d4a4 100644 --- a/gcc/testsuite/gcc.dg/pr37544.c +++ b/gcc/testsuite/gcc.dg/pr37544.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -msse2 -mtune=core2 -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ #ifdef __i386__ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/pr16104-1.c b/gcc/testsuite/gcc.dg/torture/pr16104-1.c index 018a1bac7601..3eb405906a21 100644 --- a/gcc/testsuite/gcc.dg/torture/pr16104-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr16104-1.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/16104 */ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-1.c b/gcc/testsuite/gcc.dg/torture/pr35771-1.c index c88241bcb971..8def464aa6df 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-1.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-2.c b/gcc/testsuite/gcc.dg/torture/pr35771-2.c index d036f396e771..3d6add10de96 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-2.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-2.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/pr35771-3.c b/gcc/testsuite/gcc.dg/torture/pr35771-3.c index b76c569f499a..9a69b21a5117 100644 --- a/gcc/testsuite/gcc.dg/torture/pr35771-3.c +++ b/gcc/testsuite/gcc.dg/torture/pr35771-3.c @@ -1,5 +1,6 @@ /* { dg-do run { target i?86-*-* x86_64-*-* } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c index b52dcf06566d..cbbb9d03a4cb 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c index 47f3607c2a5a..ffe52f2a3e03 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c index 7417324e4bb4..c020d7312936 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c @@ -1,6 +1,7 @@ /* PR middle-end/37010 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include #include "cpuid.h" diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c b/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c index cac206499ed8..3e34cf148b76 100644 --- a/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c +++ b/gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c index 44f65bffb20c..2ce94c3cf47c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details" } */ #define N 1000 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c index 55d7e15aca77..b174874b8821 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param max-unrolled-insns=1 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp index 3518de0590ff..c6510060127c 100644 --- a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp +++ b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008 +# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -39,6 +39,9 @@ lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" "-fvect-cost-model" global dg-do-what-default set save-dg-do-what-default ${dg-do-what-default} +if { ![check_effective_target_sse2] } then { + return +} lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c b/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c index 6eea84ae129e..a2d36d3b083b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c +++ b/gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c @@ -1,6 +1,7 @@ /* PR debug/41926 */ /* { dg-do compile } */ /* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */ void foo (double (*__restrict p)[4], double (*__restrict q)[4], diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp index 56e599fbf981..f6e50d27dbde 100644 --- a/gcc/testsuite/gcc.dg/vect/vect.exp +++ b/gcc/testsuite/gcc.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008 +# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -67,6 +67,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/gcc.target/i386/20060512-1.c b/gcc/testsuite/gcc.target/i386/20060512-1.c index 8109f94b75ce..ae432e79c08a 100644 --- a/gcc/testsuite/gcc.target/i386/20060512-1.c +++ b/gcc/testsuite/gcc.target/i386/20060512-1.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-std=gnu99 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/20060512-3.c b/gcc/testsuite/gcc.target/i386/20060512-3.c index 847f0eb6d35a..4b62b16602c5 100644 --- a/gcc/testsuite/gcc.target/i386/20060512-3.c +++ b/gcc/testsuite/gcc.target/i386/20060512-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-std=gnu99 -msse2 -mstackrealign -mpreferred-stack-boundary=4" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/3dnow-1.c b/gcc/testsuite/gcc.target/i386/3dnow-1.c index de5a2c3f9357..953dc2aef5c6 100644 --- a/gcc/testsuite/gcc.target/i386/3dnow-1.c +++ b/gcc/testsuite/gcc.target/i386/3dnow-1.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -Werror-implicit-function-declaration -m3dnow" } */ /* Test that the intrinsics compile with optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnow-2.c b/gcc/testsuite/gcc.target/i386/3dnow-2.c index 4b4d7472265d..84b85408750d 100644 --- a/gcc/testsuite/gcc.target/i386/3dnow-2.c +++ b/gcc/testsuite/gcc.target/i386/3dnow-2.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O0 -Werror-implicit-function-declaration -m3dnow" } */ /* Test that the intrinsics compile without optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnowA-1.c b/gcc/testsuite/gcc.target/i386/3dnowA-1.c index 6d4f32532bcf..e502dc98fbe4 100644 --- a/gcc/testsuite/gcc.target/i386/3dnowA-1.c +++ b/gcc/testsuite/gcc.target/i386/3dnowA-1.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */ /* Test that the intrinsics compile with optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/3dnowA-2.c b/gcc/testsuite/gcc.target/i386/3dnowA-2.c index 0a30d61c9e6f..8475094abbe0 100644 --- a/gcc/testsuite/gcc.target/i386/3dnowA-2.c +++ b/gcc/testsuite/gcc.target/i386/3dnowA-2.c @@ -1,4 +1,5 @@ /* { dg-do assemble } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */ /* Test that the intrinsics compile without optimization. All of them are diff --git a/gcc/testsuite/gcc.target/i386/all_one_m128i.c b/gcc/testsuite/gcc.target/i386/all_one_m128i.c index fa973e420ab7..24d870fa37f7 100644 --- a/gcc/testsuite/gcc.target/i386/all_one_m128i.c +++ b/gcc/testsuite/gcc.target/i386/all_one_m128i.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16))); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/float128-1.c b/gcc/testsuite/gcc.target/i386/float128-1.c index 9c6d22745f02..a435f63c1faf 100644 --- a/gcc/testsuite/gcc.target/i386/float128-1.c +++ b/gcc/testsuite/gcc.target/i386/float128-1.c @@ -1,5 +1,6 @@ /* { dg-do run { target *-*-linux* } } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/float128-2.c b/gcc/testsuite/gcc.target/i386/float128-2.c index 94408d2ef35b..6f9dd97fdf04 100644 --- a/gcc/testsuite/gcc.target/i386/float128-2.c +++ b/gcc/testsuite/gcc.target/i386/float128-2.c @@ -2,6 +2,7 @@ /* { dg-do run { target *-*-linux* *-*-darwin* } } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-1.c b/gcc/testsuite/gcc.target/i386/fpcvt-1.c index 1c3b9b83453e..5f09aedc53ed 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-1.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ float a,b; main() diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-2.c b/gcc/testsuite/gcc.target/i386/fpcvt-2.c index 066d84365edb..317aa13b8872 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-2.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ float a,b; main() diff --git a/gcc/testsuite/gcc.target/i386/fpcvt-3.c b/gcc/testsuite/gcc.target/i386/fpcvt-3.c index 569d21a5aa73..70377c3d627f 100644 --- a/gcc/testsuite/gcc.target/i386/fpcvt-3.c +++ b/gcc/testsuite/gcc.target/i386/fpcvt-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "cvtss2sd" } } */ extern double fabs (double); float a,b; diff --git a/gcc/testsuite/gcc.target/i386/fpprec-1.c b/gcc/testsuite/gcc.target/i386/fpprec-1.c index 0174e7c6c324..1c17c1d10a00 100644 --- a/gcc/testsuite/gcc.target/i386/fpprec-1.c +++ b/gcc/testsuite/gcc.target/i386/fpprec-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/funcspec-9.c b/gcc/testsuite/gcc.target/i386/funcspec-9.c index 78714e12417c..1c05f134ab54 100644 --- a/gcc/testsuite/gcc.target/i386/funcspec-9.c +++ b/gcc/testsuite/gcc.target/i386/funcspec-9.c @@ -1,6 +1,7 @@ /* Test whether using target specific options, we can generate FMA4 code. */ /* { dg-do compile } */ /* { dg-options "-O2 -march=k8 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/i386.exp b/gcc/testsuite/gcc.target/i386/i386.exp index 85c6e042dc65..622fbf8ee216 100644 --- a/gcc/testsuite/gcc.target/i386/i386.exp +++ b/gcc/testsuite/gcc.target/i386/i386.exp @@ -37,6 +37,29 @@ proc check_effective_target_ms_hook_prologue { } { } } +# Return 1 if 3dnow instructions can be compiled. +proc check_effective_target_3dnow { } { + return [check_no_compiler_messages 3dnow object { + void _m_pfadd (void) + { + __builtin_ia32_pfadd(); + } + } "-O2 -m3dnow" ] +} + +# Return 1 if sse3 instructions can be compiled. +proc check_effective_target_sse3 { } { + return [check_no_compiler_messages sse3 object { + typedef double __m128d __attribute__ ((__vector_size__ (16))); + typedef double __v2df __attribute__ ((__vector_size__ (16))); + + __m128d _mm_addsub_pd (__m128d __X, __m128d __Y) + { + return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y); + } + } "-O2 -msse3" ] +} + # Return 1 if ssse3 instructions can be compiled. proc check_effective_target_ssse3 { } { return [check_no_compiler_messages ssse3 object { diff --git a/gcc/testsuite/gcc.target/i386/incoming-1.c b/gcc/testsuite/gcc.target/i386/incoming-1.c index 86e98a79b479..9129ad00e179 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-1.c +++ b/gcc/testsuite/gcc.target/i386/incoming-1.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-12.c b/gcc/testsuite/gcc.target/i386/incoming-12.c index d7ef1038bb5f..b6bfa418d904 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-12.c +++ b/gcc/testsuite/gcc.target/i386/incoming-12.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-2.c b/gcc/testsuite/gcc.target/i386/incoming-2.c index 2947d3347cd9..184516696123 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-2.c +++ b/gcc/testsuite/gcc.target/i386/incoming-2.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-3.c b/gcc/testsuite/gcc.target/i386/incoming-3.c index 1edbfda0b393..bb9653a40671 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-3.c +++ b/gcc/testsuite/gcc.target/i386/incoming-3.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-4.c b/gcc/testsuite/gcc.target/i386/incoming-4.c index 80c169c24696..e1d1b751e7b7 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-4.c +++ b/gcc/testsuite/gcc.target/i386/incoming-4.c @@ -1,6 +1,7 @@ /* PR middle-end/37009 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/incoming-6.c b/gcc/testsuite/gcc.target/i386/incoming-6.c index 5cc4ab3f7663..f6b64b7abd2a 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-6.c +++ b/gcc/testsuite/gcc.target/i386/incoming-6.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-7.c b/gcc/testsuite/gcc.target/i386/incoming-7.c index cdd60379683c..fb5380490d62 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-7.c +++ b/gcc/testsuite/gcc.target/i386/incoming-7.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ typedef int v4si __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/incoming-8.c b/gcc/testsuite/gcc.target/i386/incoming-8.c index 2dd8800fd6cb..0f27af72078b 100644 --- a/gcc/testsuite/gcc.target/i386/incoming-8.c +++ b/gcc/testsuite/gcc.target/i386/incoming-8.c @@ -1,6 +1,7 @@ /* PR target/40838 */ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ /* { dg-options "-w -mstackrealign -O3 -msse2 -mpreferred-stack-boundary=4" } */ +/* { dg-require-effective-target sse2 } */ float foo (float f) diff --git a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp index 9b97ccb1b384..a0e7b8d1eaa0 100644 --- a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp +++ b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -18,6 +18,8 @@ # This harness is for tests that should be run at all optimisation levels. +load_lib target-supports.exp + # Exit immediately if this isn't a x86 target. if { ![istarget i?86*-*-*] && ![istarget x86_64-*-*] } then { return @@ -27,27 +29,31 @@ set MATH_TORTURE_OPTIONS [list \ { -O0 } \ { -O0 -mfpmath=387 } \ { -O0 -msse -mno-sse2 -mfpmath=sse } \ - { -O0 -msse -msse2 -mfpmath=sse } \ { -O0 -msse -mno-sse2 -mfpmath=sse,387 } \ - { -O0 -msse -msse2 -mfpmath=sse,387 } \ { -O0 -mfpmath=387 -ffast-math } \ { -O0 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ - { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \ { -O0 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ - { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ { -O2 } \ { -O2 -mfpmath=387 } \ { -O2 -msse -mno-sse2 -mfpmath=sse } \ - { -O2 -msse -msse2 -mfpmath=sse } \ { -O2 -msse -mno-sse2 -mfpmath=sse,387 } \ - { -O2 -msse -msse2 -mfpmath=sse,387 } \ { -O2 -mfpmath=387 -ffast-math } \ { -O2 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ - { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \ { -O2 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ - { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ ] +if { [check_effective_target_sse2] } { + lappend MATH_TORTURE_OPTIONS \ + { -O0 -msse -msse2 -mfpmath=sse } \ + { -O0 -msse -msse2 -mfpmath=sse,387 } \ + { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse } \ + { -O2 -msse -msse2 -mfpmath=sse,387 } \ + { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ +} + load_lib gcc-dg.exp load_lib torture-options.exp diff --git a/gcc/testsuite/gcc.target/i386/opt-1.c b/gcc/testsuite/gcc.target/i386/opt-1.c index 28e2ef38c348..74d3e8d1046a 100644 --- a/gcc/testsuite/gcc.target/i386/opt-1.c +++ b/gcc/testsuite/gcc.target/i386/opt-1.c @@ -2,6 +2,7 @@ whether we vectorize a simple loop. */ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "prefetcht0" } } */ /* { dg-final { scan-assembler "addps" } } */ /* { dg-final { scan-assembler "subss" } } */ diff --git a/gcc/testsuite/gcc.target/i386/opt-2.c b/gcc/testsuite/gcc.target/i386/opt-2.c index d2791e071c38..d247d71fc23f 100644 --- a/gcc/testsuite/gcc.target/i386/opt-2.c +++ b/gcc/testsuite/gcc.target/i386/opt-2.c @@ -2,6 +2,7 @@ whether we vectorize a simple loop. */ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "prefetcht0" } } */ /* { dg-final { scan-assembler "addps" } } */ /* { dg-final { scan-assembler "subss" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ordcmp-1.c b/gcc/testsuite/gcc.target/i386/ordcmp-1.c index a136182aca98..9be97e52b91f 100644 --- a/gcc/testsuite/gcc.target/i386/ordcmp-1.c +++ b/gcc/testsuite/gcc.target/i386/ordcmp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "cmpordss" } } */ /* { dg-final { scan-assembler "cmpordps" } } */ /* { dg-final { scan-assembler "cmpordsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr17692.c b/gcc/testsuite/gcc.target/i386/pr17692.c index a837386a3f95..f8aed82750f2 100644 --- a/gcc/testsuite/gcc.target/i386/pr17692.c +++ b/gcc/testsuite/gcc.target/i386/pr17692.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* The fact that t1 and t2 are uninitialized is critical. With them uninitialized, the register allocator is free to put them in the same hard register, which results in diff --git a/gcc/testsuite/gcc.target/i386/pr18614-1.c b/gcc/testsuite/gcc.target/i386/pr18614-1.c index 1a4997537604..6e16616cae60 100644 --- a/gcc/testsuite/gcc.target/i386/pr18614-1.c +++ b/gcc/testsuite/gcc.target/i386/pr18614-1.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/18614 */ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef double v2df __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c index d12597703ea2..4dce76cc9479 100644 --- a/gcc/testsuite/gcc.target/i386/pr22152.c +++ b/gcc/testsuite/gcc.target/i386/pr22152.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr23570.c b/gcc/testsuite/gcc.target/i386/pr23570.c index 1542663fa22c..f220a8cb80d7 100644 --- a/gcc/testsuite/gcc.target/i386/pr23570.c +++ b/gcc/testsuite/gcc.target/i386/pr23570.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __v4sf __attribute__ ((__vector_size__ (16))); typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr23575.c b/gcc/testsuite/gcc.target/i386/pr23575.c index 522226ef7a2e..1b0ec7f88c3c 100644 --- a/gcc/testsuite/gcc.target/i386/pr23575.c +++ b/gcc/testsuite/gcc.target/i386/pr23575.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ +/* { dg-require-effective-target sse2 } */ /* We used to ICE because of a bogous pattern. */ diff --git a/gcc/testsuite/gcc.target/i386/pr26449-1.c b/gcc/testsuite/gcc.target/i386/pr26449-1.c index b4ef78048877..e83375d6d0f1 100644 --- a/gcc/testsuite/gcc.target/i386/pr26449-1.c +++ b/gcc/testsuite/gcc.target/i386/pr26449-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mtune=k8" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr26600.c b/gcc/testsuite/gcc.target/i386/pr26600.c index bbe0663da7e0..61941de70e47 100644 --- a/gcc/testsuite/gcc.target/i386/pr26600.c +++ b/gcc/testsuite/gcc.target/i386/pr26600.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ void foo(int *p, int N) { diff --git a/gcc/testsuite/gcc.target/i386/pr27790.c b/gcc/testsuite/gcc.target/i386/pr27790.c index e8986c4158ac..4c5cdb6dc74a 100644 --- a/gcc/testsuite/gcc.target/i386/pr27790.c +++ b/gcc/testsuite/gcc.target/i386/pr27790.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ void binarize (int npixels, unsigned char *b) { diff --git a/gcc/testsuite/gcc.target/i386/pr28839.c b/gcc/testsuite/gcc.target/i386/pr28839.c index 6a215164c58c..ccb715d74784 100644 --- a/gcc/testsuite/gcc.target/i386/pr28839.c +++ b/gcc/testsuite/gcc.target/i386/pr28839.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -funswitch-loops" } */ +/* { dg-require-effective-target sse2 } */ static int ready[10]; void abort (void); diff --git a/gcc/testsuite/gcc.target/i386/pr30970.c b/gcc/testsuite/gcc.target/i386/pr30970.c index 96d64e5a9628..25f773915f84 100644 --- a/gcc/testsuite/gcc.target/i386/pr30970.c +++ b/gcc/testsuite/gcc.target/i386/pr30970.c @@ -1,5 +1,6 @@ /* { dg-do compile } /* { dg-options "-msse2 -O2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #define N 256 int b[N]; diff --git a/gcc/testsuite/gcc.target/i386/pr32000-1.c b/gcc/testsuite/gcc.target/i386/pr32000-1.c index 483d24a763a6..9c7bfa24b38f 100644 --- a/gcc/testsuite/gcc.target/i386/pr32000-1.c +++ b/gcc/testsuite/gcc.target/i386/pr32000-1.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target dfp } */ /* { dg-options "-O -msse2 -std=gnu99" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr32000-2.c b/gcc/testsuite/gcc.target/i386/pr32000-2.c index 6effafc60091..6f1056099c6c 100644 --- a/gcc/testsuite/gcc.target/i386/pr32000-2.c +++ b/gcc/testsuite/gcc.target/i386/pr32000-2.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-skip-if "" { ! { ilp32 && dfp } } { "*" } { "" } } */ /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr32280.c b/gcc/testsuite/gcc.target/i386/pr32280.c index d48a635a4b8d..49865ea4ba66 100644 --- a/gcc/testsuite/gcc.target/i386/pr32280.c +++ b/gcc/testsuite/gcc.target/i386/pr32280.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32661.c b/gcc/testsuite/gcc.target/i386/pr32661.c index 247ae1319237..2eb1544e3365 100644 --- a/gcc/testsuite/gcc.target/i386/pr32661.c +++ b/gcc/testsuite/gcc.target/i386/pr32661.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef int __v4si __attribute__ ((__vector_size__ (16))); typedef float __v4sf __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32708-1.c b/gcc/testsuite/gcc.target/i386/pr32708-1.c index c5308937bb05..5200f3f65478 100644 --- a/gcc/testsuite/gcc.target/i386/pr32708-1.c +++ b/gcc/testsuite/gcc.target/i386/pr32708-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __v2di __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr32961.c b/gcc/testsuite/gcc.target/i386/pr32961.c index a2326289af98..8b513623111c 100644 --- a/gcc/testsuite/gcc.target/i386/pr32961.c +++ b/gcc/testsuite/gcc.target/i386/pr32961.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr33329.c b/gcc/testsuite/gcc.target/i386/pr33329.c index bb589ee2780c..e8036082cf10 100644 --- a/gcc/testsuite/gcc.target/i386/pr33329.c +++ b/gcc/testsuite/gcc.target/i386/pr33329.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ extern void g (int *); diff --git a/gcc/testsuite/gcc.target/i386/pr35714.c b/gcc/testsuite/gcc.target/i386/pr35714.c index 13ca47c23a38..d5d2755ed072 100644 --- a/gcc/testsuite/gcc.target/i386/pr35714.c +++ b/gcc/testsuite/gcc.target/i386/pr35714.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1.c b/gcc/testsuite/gcc.target/i386/pr35767-1.c index 5ed5b8588660..0945e19bab53 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1d.c b/gcc/testsuite/gcc.target/i386/pr35767-1d.c index cdf17fa61b38..fa7d73f6e3de 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1d.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1d.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-1i.c b/gcc/testsuite/gcc.target/i386/pr35767-1i.c index 188e8e737bda..b76204802311 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-1i.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-1i.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2.c b/gcc/testsuite/gcc.target/i386/pr35767-2.c index 82062ff9ee7b..5457c48112b7 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2d.c b/gcc/testsuite/gcc.target/i386/pr35767-2d.c index ae96cd852d09..cb9d74190b68 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2d.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2d.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-2i.c b/gcc/testsuite/gcc.target/i386/pr35767-2i.c index d241644b62b9..f2dede9e7b70 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-2i.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-2i.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-3.c b/gcc/testsuite/gcc.target/i386/pr35767-3.c index e7592ff7bcb5..19162cfe2564 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-3.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target dfp } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O -msse2 -std=gnu99" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr35767-5.c b/gcc/testsuite/gcc.target/i386/pr35767-5.c index 4372d2e57465..9f533033b711 100644 --- a/gcc/testsuite/gcc.target/i386/pr35767-5.c +++ b/gcc/testsuite/gcc.target/i386/pr35767-5.c @@ -1,6 +1,7 @@ /* Test that we generate aligned load when memory is aligned. */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler "movaps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr36222-1.c b/gcc/testsuite/gcc.target/i386/pr36222-1.c index 2d4c5b9b76c6..647e10396196 100644 --- a/gcc/testsuite/gcc.target/i386/pr36222-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36222-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); typedef int __v4si __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr36578-1.c b/gcc/testsuite/gcc.target/i386/pr36578-1.c index cae0d7088376..49999351f0af 100644 --- a/gcc/testsuite/gcc.target/i386/pr36578-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36578-1.c @@ -1,6 +1,7 @@ /* Test for unsafe floating-point conversions. PR 36578. */ /* { dg-do run } */ /* { dg-options "-msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr36578-2.c b/gcc/testsuite/gcc.target/i386/pr36578-2.c index 19143cfe5ba9..5d6556f5576f 100644 --- a/gcc/testsuite/gcc.target/i386/pr36578-2.c +++ b/gcc/testsuite/gcc.target/i386/pr36578-2.c @@ -1,6 +1,7 @@ /* Test for unsafe floating-point conversions. */ /* { dg-do run } */ /* { dg-options "-msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr36992-1.c b/gcc/testsuite/gcc.target/i386/pr36992-1.c index 7cd24cccf3ed..017616bcc5bb 100644 --- a/gcc/testsuite/gcc.target/i386/pr36992-1.c +++ b/gcc/testsuite/gcc.target/i386/pr36992-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr37101.c b/gcc/testsuite/gcc.target/i386/pr37101.c index 8fd3bfc5f85e..69b913c4103c 100644 --- a/gcc/testsuite/gcc.target/i386/pr37101.c +++ b/gcc/testsuite/gcc.target/i386/pr37101.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -march=nocona" } */ +/* { dg-require-effective-target sse2 } */ typedef __SIZE_TYPE__ size_t; extern void *malloc (size_t); diff --git a/gcc/testsuite/gcc.target/i386/pr37216.c b/gcc/testsuite/gcc.target/i386/pr37216.c index 5c847a70cfb5..05eb2eea77f7 100644 --- a/gcc/testsuite/gcc.target/i386/pr37216.c +++ b/gcc/testsuite/gcc.target/i386/pr37216.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O3 -msse2" } */ /* { dg-options "-O3 -msse2 -mpe-aligned-commons" { target pe_aligned_commons } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr37434-1.c b/gcc/testsuite/gcc.target/i386/pr37434-1.c index b556bf0848e4..00ed55e3234b 100644 --- a/gcc/testsuite/gcc.target/i386/pr37434-1.c +++ b/gcc/testsuite/gcc.target/i386/pr37434-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr37434-2.c b/gcc/testsuite/gcc.target/i386/pr37434-2.c index 00ff9fd2e6ce..b92d52100da5 100644 --- a/gcc/testsuite/gcc.target/i386/pr37434-2.c +++ b/gcc/testsuite/gcc.target/i386/pr37434-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr37843-3.c b/gcc/testsuite/gcc.target/i386/pr37843-3.c index 15d05c1b4c3d..ed6478ee57a6 100644 --- a/gcc/testsuite/gcc.target/i386/pr37843-3.c +++ b/gcc/testsuite/gcc.target/i386/pr37843-3.c @@ -1,6 +1,7 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ilp32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*_?foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*_?foo" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr37843-4.c b/gcc/testsuite/gcc.target/i386/pr37843-4.c index 8e5f51f9d8b2..f5e024cc4250 100644 --- a/gcc/testsuite/gcc.target/i386/pr37843-4.c +++ b/gcc/testsuite/gcc.target/i386/pr37843-4.c @@ -1,6 +1,7 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ilp32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*foo" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39162.c b/gcc/testsuite/gcc.target/i386/pr39162.c index 2d114b8fd001..1a5e3e7aab0c 100644 --- a/gcc/testsuite/gcc.target/i386/pr39162.c +++ b/gcc/testsuite/gcc.target/i386/pr39162.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mno-avx" } */ +/* { dg-require-effective-target sse2 } */ typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__)); diff --git a/gcc/testsuite/gcc.target/i386/pr39315-1.c b/gcc/testsuite/gcc.target/i386/pr39315-1.c index 16ba5d59fe43..9f4d484639fe 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-1.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-1.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler-not "movlps" } } */ /* { dg-final { scan-assembler-not "movhps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39315-2.c b/gcc/testsuite/gcc.target/i386/pr39315-2.c index ab3dcd0d24a2..5363e97509b1 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-2.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-2.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do run } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-additional-sources pr39315-check.c } */ typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr39315-3.c b/gcc/testsuite/gcc.target/i386/pr39315-3.c index 07862db603a6..38ea7aed7450 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-3.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-3.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "movups" } } */ /* { dg-final { scan-assembler-not "movlps" } } */ /* { dg-final { scan-assembler-not "movhps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr39315-4.c b/gcc/testsuite/gcc.target/i386/pr39315-4.c index 2e55c251b03f..4a62a1d51b93 100644 --- a/gcc/testsuite/gcc.target/i386/pr39315-4.c +++ b/gcc/testsuite/gcc.target/i386/pr39315-4.c @@ -1,6 +1,7 @@ /* PR middle-end/39315 */ /* { dg-do run } */ /* { dg-options "-O -msse2 -mtune=generic" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-additional-sources pr39315-check.c } */ typedef float __m128 __attribute__ ((__vector_size__ (16))); diff --git a/gcc/testsuite/gcc.target/i386/pr39445.c b/gcc/testsuite/gcc.target/i386/pr39445.c index 6f0295bc1e0f..48e2d39a6f4f 100644 --- a/gcc/testsuite/gcc.target/i386/pr39445.c +++ b/gcc/testsuite/gcc.target/i386/pr39445.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr39496.c b/gcc/testsuite/gcc.target/i386/pr39496.c index e4132a1165b3..bdaca2e55a89 100644 --- a/gcc/testsuite/gcc.target/i386/pr39496.c +++ b/gcc/testsuite/gcc.target/i386/pr39496.c @@ -1,6 +1,7 @@ /* PR target/39496 */ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */ /* { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* Verify that {foo,bar}{,2}param are all passed on the stack, using normal calling conventions, when not optimizing. */ /* { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr40809.c b/gcc/testsuite/gcc.target/i386/pr40809.c index 979b53154767..8b63e5526497 100644 --- a/gcc/testsuite/gcc.target/i386/pr40809.c +++ b/gcc/testsuite/gcc.target/i386/pr40809.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr40906-3.c b/gcc/testsuite/gcc.target/i386/pr40906-3.c index b639b62996c9..e976805e4412 100644 --- a/gcc/testsuite/gcc.target/i386/pr40906-3.c +++ b/gcc/testsuite/gcc.target/i386/pr40906-3.c @@ -1,5 +1,6 @@ /* { dg-do run { target *-*-linux* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr41019.c b/gcc/testsuite/gcc.target/i386/pr41019.c index c0021c6a4506..a6a2f4ee216f 100644 --- a/gcc/testsuite/gcc.target/i386/pr41019.c +++ b/gcc/testsuite/gcc.target/i386/pr41019.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-1.c b/gcc/testsuite/gcc.target/i386/pr42542-1.c index 60da8ee1501b..761b91b182d6 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-1.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-2.c b/gcc/testsuite/gcc.target/i386/pr42542-2.c index fc59534d9061..80ed9c35ba5a 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-2.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3.c b/gcc/testsuite/gcc.target/i386/pr42542-3.c index 028d2f899645..372f2c1e1365 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-3.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42542-3a.c b/gcc/testsuite/gcc.target/i386/pr42542-3a.c index 754e59e84879..89c9ed4945b8 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-3a.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-3a.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */ +/* { dg-require-effective-target sse2 } */ #include "pr42542-3.c" diff --git a/gcc/testsuite/gcc.target/i386/pr42549.c b/gcc/testsuite/gcc.target/i386/pr42549.c index 0a9bfa84f996..733853cdc3eb 100644 --- a/gcc/testsuite/gcc.target/i386/pr42549.c +++ b/gcc/testsuite/gcc.target/i386/pr42549.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target 3dnow } */ /* { dg-options "-O2 -m3dnow" } */ #include "mmx-3dnow-check.h" diff --git a/gcc/testsuite/gcc.target/i386/pr42881.c b/gcc/testsuite/gcc.target/i386/pr42881.c index 1be307b97095..c8ad09d207b8 100644 --- a/gcc/testsuite/gcc.target/i386/pr42881.c +++ b/gcc/testsuite/gcc.target/i386/pr42881.c @@ -1,6 +1,8 @@ /* PR target/42881 */ /* { dg-do run } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ + #include "sse2-check.h" static void sse2_test (void) diff --git a/gcc/testsuite/gcc.target/i386/push-1.c b/gcc/testsuite/gcc.target/i386/push-1.c index 09464bf92295..797ad575dd19 100644 --- a/gcc/testsuite/gcc.target/i386/push-1.c +++ b/gcc/testsuite/gcc.target/i386/push-1.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ /* { dg-options "-w -msse2 -Os" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.target/i386/quad-sse.c b/gcc/testsuite/gcc.target/i386/quad-sse.c index 4b6fe792575b..8c5944526189 100644 --- a/gcc/testsuite/gcc.target/i386/quad-sse.c +++ b/gcc/testsuite/gcc.target/i386/quad-sse.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ __float128 x, y; diff --git a/gcc/testsuite/gcc.target/i386/reload-1.c b/gcc/testsuite/gcc.target/i386/reload-1.c index f8075acaed4e..299871585e2d 100644 --- a/gcc/testsuite/gcc.target/i386/reload-1.c +++ b/gcc/testsuite/gcc.target/i386/reload-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */ /* { dg-skip-if "no stdint" { vxworks_kernel } } */ diff --git a/gcc/testsuite/gcc.target/i386/sse-10.c b/gcc/testsuite/gcc.target/i386/sse-10.c index 5cf0714f07b9..798551db2aae 100644 --- a/gcc/testsuite/gcc.target/i386/sse-10.c +++ b/gcc/testsuite/gcc.target/i386/sse-10.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" } */ /* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" { target *-*-mingw* *-*-cygwin* } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-11.c b/gcc/testsuite/gcc.target/i386/sse-11.c index 3745dbf7f602..c764c0be5180 100644 --- a/gcc/testsuite/gcc.target/i386/sse-11.c +++ b/gcc/testsuite/gcc.target/i386/sse-11.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/21239 */ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-15.c b/gcc/testsuite/gcc.target/i386/sse-15.c index 5a1da7a755fd..ed91ee65d38d 100644 --- a/gcc/testsuite/gcc.target/i386/sse-15.c +++ b/gcc/testsuite/gcc.target/i386/sse-15.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* Test that the intrinsics compile with optimization. These were not tested in i386-sse-[12].c because these builtins require immediate diff --git a/gcc/testsuite/gcc.target/i386/sse-17.c b/gcc/testsuite/gcc.target/i386/sse-17.c index f7b3d0d1c274..3386a3b58577 100644 --- a/gcc/testsuite/gcc.target/i386/sse-17.c +++ b/gcc/testsuite/gcc.target/i386/sse-17.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include extern void abort(); diff --git a/gcc/testsuite/gcc.target/i386/sse-18.c b/gcc/testsuite/gcc.target/i386/sse-18.c index fc0224f8f6d1..6a1352b828e2 100644 --- a/gcc/testsuite/gcc.target/i386/sse-18.c +++ b/gcc/testsuite/gcc.target/i386/sse-18.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O3 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-19.c b/gcc/testsuite/gcc.target/i386/sse-19.c index 43c090bd4e1e..112c3e1cfad3 100644 --- a/gcc/testsuite/gcc.target/i386/sse-19.c +++ b/gcc/testsuite/gcc.target/i386/sse-19.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O3 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "punpcklbw" } } */ extern void abort(); #include diff --git a/gcc/testsuite/gcc.target/i386/sse-4.c b/gcc/testsuite/gcc.target/i386/sse-4.c index 394ad9d7ec4b..5d49884ab85f 100644 --- a/gcc/testsuite/gcc.target/i386/sse-4.c +++ b/gcc/testsuite/gcc.target/i386/sse-4.c @@ -1,6 +1,7 @@ /* This testcase caused a buffer overflow in simplify_immed_subreg. */ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse-6.c b/gcc/testsuite/gcc.target/i386/sse-6.c index 930b23f1f734..77131d40d07a 100644 --- a/gcc/testsuite/gcc.target/i386/sse-6.c +++ b/gcc/testsuite/gcc.target/i386/sse-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse-vect-types.c b/gcc/testsuite/gcc.target/i386/sse-vect-types.c index 9cb6f3e07cd4..2658f020effc 100644 --- a/gcc/testsuite/gcc.target/i386/sse-vect-types.c +++ b/gcc/testsuite/gcc.target/i386/sse-vect-types.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c index 2c1e81d857b7..99ff02f1bb13 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-addpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c index d81b1bb929ed..2297539f5fd1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-addsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c index 36b3c3194abb..0250d6be10e4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c index 90902bfcd94d..9f037ab5fb08 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-andpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c index 224a609ad296..953f220d1b11 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cmpsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -std=c99" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c index e8478d9ad088..7229906b0cd4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c index f18cf1617f7f..03b5b9eab5f4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c index 6bd885527667..720c63e24eec 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c index cf377c490df3..e33ec712787d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c index dd2127bc3d28..e41ee0c1f96c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c b/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c index 13371172acef..9d32b7ad1c80 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-comisd-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c b/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c index 710aa640fd04..5726448d76cb 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-copysign-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c index 5640e398f77f..9d85f5cacdc4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c index a8839a4c537c..4b2965e6d64b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c index f25290c2e4e1..ebcf1539b30c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c index 365d5e70463c..15c8188cdd89 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c index 68c2a996da86..e4dcd11fe90b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c index 16093ef4f0a2..cdc6051d8dab 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c index 75770eeb1b95..9c5a0e2b9098 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c index dfc543f19d18..908e82f43e6e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c index ae0b2c353a7d..6f8a7a7b3072 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c index 12ca895fc9fb..cda223ce5d12 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c index 29d6d86a6bf4..7035c4e6def9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c index e8172d38ec44..eda870d4fd9d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c index 93dd62493d0f..eebc2595050c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c index 1c963a10e5e3..d80a1a9ecc3e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c index a87ec1a1315e..d04d6d420989 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c index ec0fe20eefec..0284a731b05f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c index cc4f9d116786..2cf160c9ebff 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-divpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c index e8b9e8c4c875..fb72320d85d1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-divsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c index 903a5ad74903..6528800462dd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c index 7dc80a320ed2..ef1863c57dc8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c index 71e27be60804..bcb94055c41a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c b/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c index 3874b2ed526d..62734820d957 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c b/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c index 5276c7edd392..43797f707822 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c b/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c index 43037a577265..eaec22cb3a3c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c index 3ca51a2c3c98..f6360c7694f0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c index e2c6829f2ebc..24377cc25ddb 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c index 9ec53e22c523..e64091e19b41 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-minpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c index 50dc124b4515..3c34d98b9a7f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-minsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mmx.c b/gcc/testsuite/gcc.target/i386/sse2-mmx.c index ca375cb90d97..fb226a8e8f37 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mmx.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mmx.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c index 0a047dd93fd1..b8b9dba0c209 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movapd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c index decfd22b5b90..8298551baf54 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movapd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movd-1.c index 2475bbc354ba..67f0a87eaeac 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movd-2.c index f986e6e25584..a12787b7a45c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c b/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c index cf95b629b503..7599b0523cc8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c b/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c index 7bf49dcffa9e..ff6c91fda0b6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c b/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c index c24e128f48cb..0688dd9b08b3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c b/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c index 9ab0195e5966..20e79eac6f10 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c index 82e7671bc5c9..e906cbc2f37d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c index 335c89810b67..e86259acb849 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mfpmath=sse -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c index 548f2e6254b0..9e7432b355d5 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c index d63aedf06142..1bbb74123887 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c index cef6f8d72af4..6a865fe751a7 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c index d36eaef488cb..4435ad8063d8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c index edcb90c7b233..204174ecf3f8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-1.c b/gcc/testsuite/gcc.target/i386/sse2-movq-1.c index 9d22df957448..718b51a412ce 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c index 1b4c02a9c989..edf16f4a896d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c index 3538bd3ad477..571fd6db0f90 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target lp64 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c index 98f9987cfd0e..14342ea86867 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c index e6e83d10b914..f1958f09d1d0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movsd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c b/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c index f9bf5851f211..6533b4c4b18f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movupd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c b/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c index b5c59b8c5247..c66e70c4ddd5 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-movupd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c index c87e9e20de6e..737730e6fe92 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c index 1b665733e81b..777b439f1be9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c index 4eaa70a76e0d..1d88474aac98 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-orpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c b/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c index a6103261dc49..187b880db57f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c b/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c index 76532fb32ea6..3643a8ac8d21 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c b/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c index d176ac0a692b..6fd00ae6e339 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c index d9414ca07be7..faea05cfcfa8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c index c2d9b048a94f..0c910c8cfb6b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c index 4867cb42e2d9..1363978180b4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c index bb3bafcf5026..6b2195e666ec 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c index 885ed26098d6..5fec2f2a46b5 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c index ee1f038694a2..807287e27b8f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c index 449d141566ec..90a226950eae 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c b/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c index db1664fbe7a9..3ed73299be97 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-paddw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pand-1.c b/gcc/testsuite/gcc.target/i386/sse2-pand-1.c index cab3c1fc9451..a6a1702d3681 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pand-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pand-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c b/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c index 5a300c198773..d9c653fd508a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pandn-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c index cb80431c5108..98b489437411 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c index 341e5afacc34..4f9bf219950a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c index 240fa0dc1b73..7db34ba1572f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c index cb18d111984f..d4018925fabf 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c index e87e9b113cab..f3415831e349 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c index 916ec3c3333a..34c74e8e6bec 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c index bba5eae01a7e..8d0353636871 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c index bfa58a9b7757..835ba365b519 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c index df1907a34e95..c26d02b3985d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c index b07fcb6b9165..836f2c6d82a1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c index e5eafc132266..6447aa30b11a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c index ad26ca95771c..5c553d1b6726 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c b/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c index 953f8dd8a8aa..6c4598cc4f6b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pminub-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c index f1f5ff7568e2..fce068c09393 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c index fd6a3d245147..f77ec6afd67e 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c index 447b5ca295f7..ac3838930e18 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c index a68d0659dd38..38014b788612 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c b/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c index dac14ef5ce58..51540c143d76 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-por-1.c b/gcc/testsuite/gcc.target/i386/sse2-por-1.c index 7c332ed9ce14..a5a0183bbbd9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-por-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-por-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c index c5fa0b226057..83e83cb164ec 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c index b106283aa252..b0f8834c87b6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c index 4eec55d04aa6..cfff7577d1cd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c b/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c index 37496251c55f..9915ca4ad1ba 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c b/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c index 4fbde24a5b50..31474e3234fa 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslld-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c b/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c index adef576e15d6..17411415b0c8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslld-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c index 3189106a4489..2d4dc1b9eee8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c index cd916ebf3ea7..a07cfc4da844 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c b/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c index b20e872ffe1d..6792fd3253a1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c index 1fc5aa406af4..3153ec45529b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c index 22a54b6a95f4..e3170405e637 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psllw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c index 37091ba84136..ea27439ae4b9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrad-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c index dc24a0f27d2f..0b8d5b888092 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrad-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c index 3e0d88f16499..49db1b2c64db 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psraw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c index c3823ebee2d7..8aa6681b3224 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psraw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c index 0e5773167c24..d310fc45204d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrld-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c index 0270d9274040..a5ddce1f39bb 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrld-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c index 751319164347..c4484bc3025a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c index 9c1ce5e873c7..12ace3775259 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c index 8c6594079aef..ee4fb0472ed6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c index e5375f735db3..d51ee45bacd6 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c b/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c index dbe6a68e18f7..0d4004c3e5a2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c index a8d5b67ddece..a416f57a5b09 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c index 296a261d3abc..9700a7791c05 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c index fe8c0f431996..a31ec689cc30 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c index d9cb1af5facf..88308cb108a3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c index 85fdbeb427e0..a0f4215388be 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c b/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c index e2d8be50c6b3..dbf08ade1ab2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-psubw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c index f673b0b9dbc5..33f30202de7b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c index 7fcef77842ca..26689aa439a2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c index 4cb60d719ba9..4dbd46bdae28 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c index 1ba04e16223f..11fd91e2043f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c index 4e63885e3bee..d3d5a71aab27 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c index 1e7b44f1549a..c24ee1ee5bcd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c index 4f84ca10d1cc..ce9b885998d3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c b/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c index 8ba26b3484ad..6736186a01c9 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c b/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c index 7e06440a10a7..c9d2b90b7af8 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-pxor-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c index f4dac40fc999..c1f5d0f7434b 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c index 67510b59c7ed..ac32015a72ca 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c index 61f19cb2b498..cc0af7c9fff4 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c index 918fa5c9155a..01f2699b73b2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c index 2c0227dd775e..3c3ae26fb955 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c index cab461e3e386..e4231a4f7eed 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c index 816c19e20f83..b2a8778dbd36 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c index 2b4a8be728d3..2d500b7910c0 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c index b5103ac1d75f..1afe68bcf5e2 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c +++ b/gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mtune=core2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define CHECK_H "sse2-check.h" #define TEST sse2_test diff --git a/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c index cffa4695c84e..0a05680a4809 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c b/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c index f1ef347612eb..6095aaa29271 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-shufps-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c index 3a476cfa38e1..edbf829e1c6c 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c index e8ac1b820c98..6a91e218a851 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-subpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c b/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c index d70c3f855845..954f81ad5732 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-subsd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c index deae8e70fc88..0bf8708f841a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c index 110f7cd4bffa..fd566f059fd3 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c index 1e3a1a60a659..df9e09bce2b1 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c index 99c9aa2ada4b..f65572a4f44d 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c index 19a730a97b00..b08c4416b438 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c index dd5ed70e274f..bb0bee579570 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c index a2676396cd32..ed067082594a 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpack-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c index a682725d1468..a07302c4bc61 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c index 0e4a5cce9ff9..3562edc6ffac 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-1.c b/gcc/testsuite/gcc.target/i386/sse2-vec-1.c index ba7e2e8958f6..ab2ca5b221ac 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-2.c b/gcc/testsuite/gcc.target/i386/sse2-vec-2.c index c7586e14b441..6f5c514aa3cd 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-2.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-2.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-3.c b/gcc/testsuite/gcc.target/i386/sse2-vec-3.c index 545dbe0ba0fa..fa18de5a990f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-3.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-4.c b/gcc/testsuite/gcc.target/i386/sse2-vec-4.c index 31e480659cca..0867e9ca8856 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-4.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-5.c b/gcc/testsuite/gcc.target/i386/sse2-vec-5.c index 7ca45baa2d9f..c676bbd3a020 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-5.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-5.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-vec-6.c b/gcc/testsuite/gcc.target/i386/sse2-vec-6.c index ecd0b331da23..856c3e70cecc 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-vec-6.c +++ b/gcc/testsuite/gcc.target/i386/sse2-vec-6.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c b/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c index 88cf0d3794cd..669f5714922f 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #ifndef CHECK_H #define CHECK_H "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c b/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c index e82fa76c5a5e..147a1ecb88d2 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-addsubpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-addsubps.c b/gcc/testsuite/gcc.target/i386/sse3-addsubps.c index 091b58c84111..604c40493402 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-addsubps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-addsubps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-haddpd.c b/gcc/testsuite/gcc.target/i386/sse3-haddpd.c index 8750ddfe298c..ae4f94a93f92 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-haddpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-haddpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-haddps.c b/gcc/testsuite/gcc.target/i386/sse3-haddps.c index dcb0a7c58c87..e944eab66181 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-haddps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-haddps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c b/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c index 77018f5740f8..37bd60c39308 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c +++ b/gcc/testsuite/gcc.target/i386/sse3-hsubpd.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-hsubps.c b/gcc/testsuite/gcc.target/i386/sse3-hsubps.c index 326adfd045d6..1980638de174 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-hsubps.c +++ b/gcc/testsuite/gcc.target/i386/sse3-hsubps.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-lddqu.c b/gcc/testsuite/gcc.target/i386/sse3-lddqu.c index 5df19a62af69..700bd571d071 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-lddqu.c +++ b/gcc/testsuite/gcc.target/i386/sse3-lddqu.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movddup.c b/gcc/testsuite/gcc.target/i386/sse3-movddup.c index 2eb33ad49c72..cbf32066628b 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movddup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movddup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movshdup.c b/gcc/testsuite/gcc.target/i386/sse3-movshdup.c index 8f6706cf9397..0d30ccb5b7cf 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movshdup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movshdup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/sse3-movsldup.c b/gcc/testsuite/gcc.target/i386/sse3-movsldup.c index 9ae8454e0a59..1ef2dd1b07f3 100644 --- a/gcc/testsuite/gcc.target/i386/sse3-movsldup.c +++ b/gcc/testsuite/gcc.target/i386/sse3-movsldup.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target sse3 } */ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */ #ifndef CHECK_H diff --git a/gcc/testsuite/gcc.target/i386/ssefn-2.c b/gcc/testsuite/gcc.target/i386/ssefn-2.c index 09b920ea7cab..dfaacf6bdcae 100644 --- a/gcc/testsuite/gcc.target/i386/ssefn-2.c +++ b/gcc/testsuite/gcc.target/i386/ssefn-2.c @@ -3,6 +3,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "movss" } } */ /* { dg-final { scan-assembler "mulss" } } */ /* { dg-final { scan-assembler "movsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssefn-4.c b/gcc/testsuite/gcc.target/i386/ssefn-4.c index eacdfa793923..2d7407eaef84 100644 --- a/gcc/testsuite/gcc.target/i386/ssefn-4.c +++ b/gcc/testsuite/gcc.target/i386/ssefn-4.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" diff --git a/gcc/testsuite/gcc.target/i386/ssefp-1.c b/gcc/testsuite/gcc.target/i386/ssefp-1.c index 621e362f490c..fdce233173b4 100644 --- a/gcc/testsuite/gcc.target/i386/ssefp-1.c +++ b/gcc/testsuite/gcc.target/i386/ssefp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "maxsd" } } */ /* { dg-final { scan-assembler "minsd" } } */ double x; diff --git a/gcc/testsuite/gcc.target/i386/ssefp-2.c b/gcc/testsuite/gcc.target/i386/ssefp-2.c index a6caee398b2d..0b8b72262b5b 100644 --- a/gcc/testsuite/gcc.target/i386/ssefp-2.c +++ b/gcc/testsuite/gcc.target/i386/ssefp-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "maxsd" } } */ /* { dg-final { scan-assembler "minsd" } } */ double x; diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-3.c b/gcc/testsuite/gcc.target/i386/sseregparm-3.c index 9ee82af44aec..7475e4f827f6 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-3.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-3.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-4.c b/gcc/testsuite/gcc.target/i386/sseregparm-4.c index a29cf06bf5c9..b8fc521264e3 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-4.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-4.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-5.c b/gcc/testsuite/gcc.target/i386/sseregparm-5.c index 7423722d6941..fa41a2c87b99 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-5.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-5.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-6.c b/gcc/testsuite/gcc.target/i386/sseregparm-6.c index 6203b6b59712..d0358c5e6931 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-6.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-6.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-7.c b/gcc/testsuite/gcc.target/i386/sseregparm-7.c index 61267df9853b..99953b5aa9c0 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-7.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-7.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-msse2 -O2" } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* Make sure we know that mysinfp returns in %xmm0. */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-1.c b/gcc/testsuite/gcc.target/i386/ssetype-1.c index ef89059b8d80..00ea28574840 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-1.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-1.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "andpd\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "andnpd\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-2.c b/gcc/testsuite/gcc.target/i386/ssetype-2.c index b68a63923fb0..c6a8ba7b548c 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-2.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "andpd" } } */ /* { dg-final { scan-assembler "andnpd" } } */ /* { dg-final { scan-assembler "xorpd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-3.c b/gcc/testsuite/gcc.target/i386/ssetype-3.c index d6887d5cd20a..0e83e28c468f 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-3.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-3.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "andps\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "andnps\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-4.c b/gcc/testsuite/gcc.target/i386/ssetype-4.c index 9994b07f21c6..9b68792390d5 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-4.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -march=k8" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "andps" } } */ /* { dg-final { scan-assembler "andnps" } } */ /* { dg-final { scan-assembler "xorps" } } */ diff --git a/gcc/testsuite/gcc.target/i386/ssetype-5.c b/gcc/testsuite/gcc.target/i386/ssetype-5.c index 75133e9fa688..098ed89ad664 100644 --- a/gcc/testsuite/gcc.target/i386/ssetype-5.c +++ b/gcc/testsuite/gcc.target/i386/ssetype-5.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* This test checks for absolute memory operands. */ /* { dg-require-effective-target nonpic } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2 -march=k8" } */ /* { dg-final { scan-assembler "pand\[^\\n\]*magic" } } */ /* { dg-final { scan-assembler "pandn\[^\\n\]*magic" } } */ diff --git a/gcc/testsuite/gcc.target/i386/unordcmp-1.c b/gcc/testsuite/gcc.target/i386/unordcmp-1.c index 49d4b8e076a0..85de4865d2fe 100644 --- a/gcc/testsuite/gcc.target/i386/unordcmp-1.c +++ b/gcc/testsuite/gcc.target/i386/unordcmp-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "cmpunordss" } } */ /* { dg-final { scan-assembler "cmpunordps" } } */ /* { dg-final { scan-assembler "cmpunordsd" } } */ diff --git a/gcc/testsuite/gcc.target/i386/vararg-1.c b/gcc/testsuite/gcc.target/i386/vararg-1.c index 1875e0a6973d..cfb1e30ab074 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-1.c +++ b/gcc/testsuite/gcc.target/i386/vararg-1.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-w" { target { lp64 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-2.c b/gcc/testsuite/gcc.target/i386/vararg-2.c index 0534ac77478f..60793173d6c4 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-2.c +++ b/gcc/testsuite/gcc.target/i386/vararg-2.c @@ -2,6 +2,7 @@ /* { dg-do run } */ /* { dg-options "-w" { target { lp64 } } } */ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ +/* { dg-require-effective-target sse2 } */ #include "sse2-check.h" #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-3.c b/gcc/testsuite/gcc.target/i386/vararg-3.c index a6b5876f5db0..3bfc3f14ce76 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-3.c +++ b/gcc/testsuite/gcc.target/i386/vararg-3.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-4.c b/gcc/testsuite/gcc.target/i386/vararg-4.c index e2f83b0c4a79..8034dcadba04 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-4.c +++ b/gcc/testsuite/gcc.target/i386/vararg-4.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-7.c b/gcc/testsuite/gcc.target/i386/vararg-7.c index bebf6092492d..0f10d6784db8 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-7.c +++ b/gcc/testsuite/gcc.target/i386/vararg-7.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vararg-8.c b/gcc/testsuite/gcc.target/i386/vararg-8.c index bf6d3b523278..5c5a0b4a19d4 100644 --- a/gcc/testsuite/gcc.target/i386/vararg-8.c +++ b/gcc/testsuite/gcc.target/i386/vararg-8.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include #include diff --git a/gcc/testsuite/gcc.target/i386/vecinit-1.c b/gcc/testsuite/gcc.target/i386/vecinit-1.c index 8553eb05e4c9..cba7429f242b 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-1.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) float a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-2.c b/gcc/testsuite/gcc.target/i386/vecinit-2.c index d6c715fd4f95..fdfa837c6985 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-2.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) int a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-3.c b/gcc/testsuite/gcc.target/i386/vecinit-3.c index 053b566fbac0..aae642ae27cd 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-3.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) char a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-4.c b/gcc/testsuite/gcc.target/i386/vecinit-4.c index 773a3160062f..101b68badc46 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-4.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) short a; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-5.c b/gcc/testsuite/gcc.target/i386/vecinit-5.c index 57648897391f..b9e7e27c78fe 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-5.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-5.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) float a, b; diff --git a/gcc/testsuite/gcc.target/i386/vecinit-6.c b/gcc/testsuite/gcc.target/i386/vecinit-6.c index ba58f12606ad..3b22043273be 100644 --- a/gcc/testsuite/gcc.target/i386/vecinit-6.c +++ b/gcc/testsuite/gcc.target/i386/vecinit-6.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ #define vector __attribute__((vector_size(16))) int a, b; diff --git a/gcc/testsuite/gcc.target/i386/vectorize2.c b/gcc/testsuite/gcc.target/i386/vectorize2.c index 419648719597..a7196c70d13c 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize2.c +++ b/gcc/testsuite/gcc.target/i386/vectorize2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */ double a[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize3.c b/gcc/testsuite/gcc.target/i386/vectorize3.c index 2947acbafda4..e19f8d87bdac 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize3.c +++ b/gcc/testsuite/gcc.target/i386/vectorize3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */ float a[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize4.c b/gcc/testsuite/gcc.target/i386/vectorize4.c index f3d605e228a5..9933d2997290 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize4.c +++ b/gcc/testsuite/gcc.target/i386/vectorize4.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 --param ggc-min-expand=0 --param ggc-min-heapsize=0" } */ /* This test, tests two thing, we vectorize square root and also we don't crash due to a GC issue. */ diff --git a/gcc/testsuite/gcc.target/i386/vectorize6.c b/gcc/testsuite/gcc.target/i386/vectorize6.c index 78ec53d15a81..41e61aa2ccd3 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize6.c +++ b/gcc/testsuite/gcc.target/i386/vectorize6.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -ftree-vectorize -mveclibabi=svml -ffast-math" } */ +/* { dg-require-effective-target sse2 } */ double x[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize7.c b/gcc/testsuite/gcc.target/i386/vectorize7.c index 10b7ba27868a..eca043bdfa21 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize7.c +++ b/gcc/testsuite/gcc.target/i386/vectorize7.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ unsigned int a[256]; float b[256]; diff --git a/gcc/testsuite/gcc.target/i386/vectorize8.c b/gcc/testsuite/gcc.target/i386/vectorize8.c index ed1517b93efc..e26362035adf 100644 --- a/gcc/testsuite/gcc.target/i386/vectorize8.c +++ b/gcc/testsuite/gcc.target/i386/vectorize8.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ +/* { dg-require-effective-target sse2 } */ unsigned int a[256]; double b[256]; diff --git a/gcc/testsuite/gcc.target/i386/vperm-v2df.c b/gcc/testsuite/gcc.target/i386/vperm-v2df.c index f17e065e328b..d0394635c59c 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v2df.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v2df.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/vperm-v2di.c b/gcc/testsuite/gcc.target/i386/vperm-v2di.c index c6fe5611f66d..940de68af195 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v2di.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v2di.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c b/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c index 663feb3f4880..93c25c6826a4 100644 --- a/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c +++ b/gcc/testsuite/gcc.target/i386/vperm-v4si-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -msse2" } */ +/* { dg-require-effective-target sse2 } */ #include "isa-check.h" diff --git a/gcc/testsuite/gcc.target/i386/xorps-sse2.c b/gcc/testsuite/gcc.target/i386/xorps-sse2.c index 3c268b4cbaa4..4d3994c88efe 100644 --- a/gcc/testsuite/gcc.target/i386/xorps-sse2.c +++ b/gcc/testsuite/gcc.target/i386/xorps-sse2.c @@ -1,6 +1,7 @@ /* Test that we generate xorps when the result is used in FP math. */ /* { dg-do compile } */ /* { dg-options "-O -msse2 -mno-sse3" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "xorps\[ \t\]" { xfail *-*-* } } } */ /* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.target/i386/xorps.c b/gcc/testsuite/gcc.target/i386/xorps.c index 6803a4d89162..bc2e97d76d6a 100644 --- a/gcc/testsuite/gcc.target/i386/xorps.c +++ b/gcc/testsuite/gcc.target/i386/xorps.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-Os -msse2" } */ +/* { dg-require-effective-target sse2 } */ typedef float __m128 __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 b/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 index c17446a6879d..8c9d110b22af 100644 --- a/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 +++ b/gcc/testsuite/gfortran.dg/graphite/pr42326-1.f90 @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target ilp32 } +! { dg-require-effective-target sse2 } ! { dg-options "-O2 -floop-parallelize-all -fprefetch-loop-arrays -msse2" } subroutine phasad(t,i,ium) diff --git a/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 b/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 index d6939daf89ae..06ef2b706733 100644 --- a/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 +++ b/gcc/testsuite/gfortran.dg/graphite/pr42326.f90 @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target ilp32 } +! { dg-require-effective-target sse2 } ! { dg-options "-O2 -floop-strip-mine -fprefetch-loop-arrays -msse2" } subroutine blts ( ldmx, ldmy, v, tmp1, i, j, k) diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f index cf47204e04e0..8f196a69ad48 100644 --- a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f +++ b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f @@ -1,5 +1,6 @@ ! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target vect_double } +! { dg-require-effective-target sse2 } ! { dg-options "-O3 -ffast-math -msse2 -fpredictive-commoning -ftree-vectorize -fdump-tree-optimized" } diff --git a/gcc/testsuite/gfortran.dg/vect/vect.exp b/gcc/testsuite/gfortran.dg/vect/vect.exp index d818e7dcf4c4..9f9ed22aef51 100644 --- a/gcc/testsuite/gfortran.dg/vect/vect.exp +++ b/gcc/testsuite/gfortran.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 1997, 2004, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -68,6 +68,9 @@ if [istarget "powerpc-*paired*"] { } elseif { [istarget "spu-*-*"] } { set dg-do-what-default run } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + if { ![check_effective_target_sse2] } then { + return + } lappend DEFAULT_VECTCFLAGS "-msse2" if [check_sse2_hw_available] { set dg-do-what-default run diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp index 811b4cfcaad4..72ce9d682cd4 100644 --- a/gcc/testsuite/lib/fortran-torture.exp +++ b/gcc/testsuite/lib/fortran-torture.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -45,6 +45,7 @@ proc get-fortran-torture-options { } { } elseif { [istarget "spu-*-*"] } { set test_tree_vectorize 1 } elseif { ( [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] ) + && [check_effective_target_sse2] && [check_sse2_hw_available] } { lappend vectorizer_options "-msse2" set test_tree_vectorize 1 diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp index 12631fafdfb2..e742d750c762 100644 --- a/gcc/testsuite/lib/target-supports-dg.exp +++ b/gcc/testsuite/lib/target-supports-dg.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009 +# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -145,12 +145,23 @@ proc dg-require-named-sections { args } { } # If the target does not match the required effective target, skip this test. +# Only apply this if the optional selector matches. proc dg-require-effective-target { args } { set args [lreplace $args 0 0] - if { [llength $args] != 1 } { - error "syntax error, need a single effective-target keyword" + # Verify the number of arguments. The last is optional. + if { [llength $args] < 1 || [llength $args] > 2 } { + error "syntax error, need a single effective-target keyword with optional selector" } + + # Evaluate selector if present. + if { [llength $args] == 2 } { + switch [dg-process-target [lindex $args 1]] { + "S" { } + "N" { return } + } + } + if { ![is-effective-target [lindex $args 0]] } { upvar dg-do-what dg-do-what set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index e91c0331516c..66413c6dd9b6 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3152,6 +3152,18 @@ proc check_effective_target_avx { } { } "-O2 -mavx" ] } +# Return 1 if sse2 instructions can be compiled. +proc check_effective_target_sse2 { } { + return [check_no_compiler_messages sse2 object { + typedef long long __m128i __attribute__ ((__vector_size__ (16))); + + __m128i _mm_srli_si128 (__m128i __A, int __N) + { + return (__m128i)__builtin_ia32_psrldqi128 (__A, 8); + } + } "-O2 -msse2" ] +} + # Return 1 if C wchar_t type is compatible with char16_t. proc check_effective_target_wchar_t_char16_t_compatible { } {