gcc:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jul 2010 11:32:42 +0000 (11:32 +0000)
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jul 2010 11:32:42 +0000 (11:32 +0000)
commit949e49d01f90c6b4e707c8f9a25dee608764e29a
treefac742dd5cccacf7c9bab96b5cf40469d13df1e6
parent12283fd1a41d715f9931df5160369041d57a5967
gcc:
* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
pentiumpro on Solaris 8 and 9/x86.
* doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
Document SSE/SSE2 support.
* doc/sourcebuild.texi (Effective-Target Keywords): Document sse.

gcc/testsuite:
* lib/target-supports.exp (check_effective_target_sse): New proc.
* gcc.target/i386/sol2-check.h: New file.
* gcc.target/i386/sse-check.h (ILL_INSN, ILL_INSN_LEN): Define.
Include sol2-check.h.
(main) Only run do_test () if sol2_check ().
* gcc.target/i386/sse2-check.h: Likewise.
* gcc.target/i386/sse3-check.h: Likewise.
* gcc.dg/vect/tree-vect.h (check_vect) [__i386__ || __x86_64__]
[__sun__ && __svr4__]: Execute SSE2 instruction.
* gcc.target/i386/math-torture/math-torture.exp: Only add options
with -msse to MATH_TORTURE_OPTIONS if check_effective_target_sse.
* g++.dg/debug/dwarf2/const2b.C: Use dg-require-effective-target sse.
* g++.dg/ext/vector14.C: Likewise.
* g++.dg/other/mmintrin.C: Likewise.
* gcc.dg/20020418-1.c: Likewise.
* gcc.dg/debug/dwarf2/const-2b.c: Likewise.
* gcc.dg/format/ms_unnamed-1.c: Likewise.
* gcc.dg/format/unnamed-1.c: Likewise.
Adapt dg-warning line number.
* gcc.dg/graphite/pr40281.c: Likewise.
* gcc.dg/pr32176.c: Likewise.
* gcc.dg/pr40550.c: Likewise.
* gcc.dg/prefetch-loop-arrays-1.c: Likewise.
* gcc.dg/torture/pr36891.c: Likewise.
* gcc.target/i386/20020218-1.c: Likewise.
* gcc.target/i386/20020523.c: Likewise.
* gcc.target/i386/abi-1.c: Likewise.
* gcc.target/i386/brokensqrt.c: Likewise.
* gcc.target/i386/fastcall-sseregparm.c: Likewise.
* gcc.target/i386/pr13366.c: Likewise.
* gcc.target/i386/pr13685.c: Likewise.
* gcc.target/i386/pr24306.c: Likewise.
* gcc.target/i386/pr31486.c: Likewise.
* gcc.target/i386/pr32065-1.c: Likewise.
* gcc.target/i386/pr32065-2.c: Likewise.
* gcc.target/i386/pr32389.c: Likewise.
* gcc.target/i386/pr38824.c: Likewise.
* gcc.target/i386/pr38931.c: Likewise.
* gcc.target/i386/pr39592-1.c: Likewise.
* gcc.target/i386/pr43766.c: Likewise.
* gcc.target/i386/recip-divf.c: Likewise.
* gcc.target/i386/recip-sqrtf.c: Likewise.
* gcc.target/i386/recip-vec-divf.c: Likewise.
* gcc.target/i386/recip-vec-sqrtf.c: Likewise.
* gcc.target/i386/sse-1.c: Likewise.
* gcc.target/i386/sse-16.c: Likewise.
* gcc.target/i386/sse-2.c: Likewise.
* gcc.target/i386/sse-20.c: Likewise.
* gcc.target/i386/sse-3.c: Likewise.
* gcc.target/i386/sse-7.c: Likewise.
* gcc.target/i386/sse-9.c: Likewise.
* gcc.target/i386/sse-addps-1.c: Likewise.
* gcc.target/i386/sse-addss-1.c: Likewise.
* gcc.target/i386/sse-andnps-1.c: Likewise.
* gcc.target/i386/sse-andps-1.c: Likewise.
* gcc.target/i386/sse-cmpss-1.c: Likewise.
* gcc.target/i386/sse-comiss-1.c: Likewise.
* gcc.target/i386/sse-comiss-2.c: Likewise.
* gcc.target/i386/sse-comiss-3.c: Likewise.
* gcc.target/i386/sse-comiss-4.c: Likewise.
* gcc.target/i386/sse-comiss-5.c: Likewise.
* gcc.target/i386/sse-comiss-6.c: Likewise.
* gcc.target/i386/sse-copysignf-vec.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-1.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/i386/sse-cvtss2si-1.c: Likewise.
* gcc.target/i386/sse-cvtss2si-2.c: Likewise.
* gcc.target/i386/sse-cvttss2si-1.c: Likewise.
* gcc.target/i386/sse-cvttss2si-2.c: Likewise.
* gcc.target/i386/sse-divps-1.c: Likewise.
* gcc.target/i386/sse-divss-1.c: Likewise.
* gcc.target/i386/sse-init-v4hi-1.c: Likewise.
* gcc.target/i386/sse-init-v4sf-1.c: Likewise.
* gcc.target/i386/sse-maxps-1.c: Likewise.
* gcc.target/i386/sse-maxss-1.c: Likewise.
* gcc.target/i386/sse-minps-1.c: Likewise.
* gcc.target/i386/sse-minss-1.c: Likewise.
* gcc.target/i386/sse-movaps-1.c: Likewise.
* gcc.target/i386/sse-movaps-2.c: Likewise.
* gcc.target/i386/sse-movhlps-1.c: Likewise.
* gcc.target/i386/sse-movhps-1.c: Likewise.
* gcc.target/i386/sse-movhps-2.c: Likewise.
* gcc.target/i386/sse-movlhps-1.c: Likewise.
* gcc.target/i386/sse-movmskps-1.c: Likewise.
* gcc.target/i386/sse-movntps-1.c: Likewise.
* gcc.target/i386/sse-movss-1.c: Likewise.
* gcc.target/i386/sse-movss-2.c: Likewise.
* gcc.target/i386/sse-movss-3.c: Likewise.
* gcc.target/i386/sse-movups-1.c: Likewise.
* gcc.target/i386/sse-movups-2.c: Likewise.
* gcc.target/i386/sse-mulps-1.c: Likewise.
* gcc.target/i386/sse-mulss-1.c: Likewise.
* gcc.target/i386/sse-orps-1.c: Likewise.
* gcc.target/i386/sse-rcpps-1.c: Likewise.
* gcc.target/i386/sse-recip-vec.c: Likewise.
* gcc.target/i386/sse-recip.c: Likewise.
* gcc.target/i386/sse-rsqrtps-1.c: Likewise.
* gcc.target/i386/sse-set-ps-1.c: Likewise.
* gcc.target/i386/sse-sqrtps-1.c: Likewise.
* gcc.target/i386/sse-subps-1.c: Likewise.
* gcc.target/i386/sse-subss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-2.c: Likewise.
* gcc.target/i386/sse-ucomiss-3.c: Likewise.
* gcc.target/i386/sse-ucomiss-4.c: Likewise.
* gcc.target/i386/sse-ucomiss-5.c: Likewise.
* gcc.target/i386/sse-ucomiss-6.c: Likewise.
* gcc.target/i386/sse-unpckhps-1.c: Likewise.
* gcc.target/i386/sse-unpcklps-1.c: Likewise.
* gcc.target/i386/sse-xorps-1.c: Likewise.
* gcc.target/i386/ssefn-1.c: Likewise.
* gcc.target/i386/ssefn-3.c: Likewise.
* gcc.target/i386/sseregparm-1.c: Likewise.
* gcc.target/i386/stackalign/return-3.c: Likewise.
* gcc.target/i386/vectorize1.c: Likewise.
* gcc.target/i386/vperm-v4sf-1.c: Likewise.
* gcc.target/i386/xorps-sse.c: Likewise.
* gfortran.dg/pr28158.f90: Likewise.
* gfortran.dg/pr30667.f: Likewise.
* gnat.dg/loop_optimization7.adb: Likewise.
* gnat.dg/sse_nolib.adb: Likewise.

libgfortran:
* config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>,
<ucontext.h>.
(sigill_caught): New.
(sigill_hdlr): New function
(has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes
SIGILL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162073 138bc75d-0d04-0410-961f-82ee72b054a4
122 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/doc/install.texi
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/dwarf2/const2b.C
gcc/testsuite/g++.dg/ext/vector14.C
gcc/testsuite/g++.dg/other/mmintrin.C
gcc/testsuite/gcc.dg/20020418-1.c
gcc/testsuite/gcc.dg/debug/dwarf2/const-2b.c
gcc/testsuite/gcc.dg/format/ms_unnamed-1.c
gcc/testsuite/gcc.dg/format/unnamed-1.c
gcc/testsuite/gcc.dg/graphite/pr40281.c
gcc/testsuite/gcc.dg/pr32176.c
gcc/testsuite/gcc.dg/pr40550.c
gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c
gcc/testsuite/gcc.dg/torture/pr36891.c
gcc/testsuite/gcc.dg/vect/tree-vect.h
gcc/testsuite/gcc.target/i386/20020218-1.c
gcc/testsuite/gcc.target/i386/20020523.c
gcc/testsuite/gcc.target/i386/abi-1.c
gcc/testsuite/gcc.target/i386/brokensqrt.c
gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c
gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
gcc/testsuite/gcc.target/i386/pr13366.c
gcc/testsuite/gcc.target/i386/pr13685.c
gcc/testsuite/gcc.target/i386/pr24306.c
gcc/testsuite/gcc.target/i386/pr31486.c
gcc/testsuite/gcc.target/i386/pr32065-1.c
gcc/testsuite/gcc.target/i386/pr32065-2.c
gcc/testsuite/gcc.target/i386/pr32389.c
gcc/testsuite/gcc.target/i386/pr38824.c
gcc/testsuite/gcc.target/i386/pr38931.c
gcc/testsuite/gcc.target/i386/pr39592-1.c
gcc/testsuite/gcc.target/i386/pr43766.c
gcc/testsuite/gcc.target/i386/recip-divf.c
gcc/testsuite/gcc.target/i386/recip-sqrtf.c
gcc/testsuite/gcc.target/i386/recip-vec-divf.c
gcc/testsuite/gcc.target/i386/recip-vec-sqrtf.c
gcc/testsuite/gcc.target/i386/sol2-check.h [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-1.c
gcc/testsuite/gcc.target/i386/sse-16.c
gcc/testsuite/gcc.target/i386/sse-2.c
gcc/testsuite/gcc.target/i386/sse-20.c
gcc/testsuite/gcc.target/i386/sse-3.c
gcc/testsuite/gcc.target/i386/sse-7.c
gcc/testsuite/gcc.target/i386/sse-9.c
gcc/testsuite/gcc.target/i386/sse-addps-1.c
gcc/testsuite/gcc.target/i386/sse-addss-1.c
gcc/testsuite/gcc.target/i386/sse-andnps-1.c
gcc/testsuite/gcc.target/i386/sse-andps-1.c
gcc/testsuite/gcc.target/i386/sse-check.h
gcc/testsuite/gcc.target/i386/sse-cmpss-1.c
gcc/testsuite/gcc.target/i386/sse-comiss-1.c
gcc/testsuite/gcc.target/i386/sse-comiss-2.c
gcc/testsuite/gcc.target/i386/sse-comiss-3.c
gcc/testsuite/gcc.target/i386/sse-comiss-4.c
gcc/testsuite/gcc.target/i386/sse-comiss-5.c
gcc/testsuite/gcc.target/i386/sse-comiss-6.c
gcc/testsuite/gcc.target/i386/sse-copysignf-vec.c
gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-1.c
gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c
gcc/testsuite/gcc.target/i386/sse-cvtss2si-1.c
gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c
gcc/testsuite/gcc.target/i386/sse-cvttss2si-1.c
gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c
gcc/testsuite/gcc.target/i386/sse-divps-1.c
gcc/testsuite/gcc.target/i386/sse-divss-1.c
gcc/testsuite/gcc.target/i386/sse-init-v4hi-1.c
gcc/testsuite/gcc.target/i386/sse-init-v4sf-1.c
gcc/testsuite/gcc.target/i386/sse-maxps-1.c
gcc/testsuite/gcc.target/i386/sse-maxss-1.c
gcc/testsuite/gcc.target/i386/sse-minps-1.c
gcc/testsuite/gcc.target/i386/sse-minss-1.c
gcc/testsuite/gcc.target/i386/sse-movaps-1.c
gcc/testsuite/gcc.target/i386/sse-movaps-2.c
gcc/testsuite/gcc.target/i386/sse-movhlps-1.c
gcc/testsuite/gcc.target/i386/sse-movhps-1.c
gcc/testsuite/gcc.target/i386/sse-movhps-2.c
gcc/testsuite/gcc.target/i386/sse-movlhps-1.c
gcc/testsuite/gcc.target/i386/sse-movmskps-1.c
gcc/testsuite/gcc.target/i386/sse-movntps-1.c
gcc/testsuite/gcc.target/i386/sse-movss-1.c
gcc/testsuite/gcc.target/i386/sse-movss-2.c
gcc/testsuite/gcc.target/i386/sse-movss-3.c
gcc/testsuite/gcc.target/i386/sse-movups-1.c
gcc/testsuite/gcc.target/i386/sse-movups-2.c
gcc/testsuite/gcc.target/i386/sse-mulps-1.c
gcc/testsuite/gcc.target/i386/sse-mulss-1.c
gcc/testsuite/gcc.target/i386/sse-orps-1.c
gcc/testsuite/gcc.target/i386/sse-rcpps-1.c
gcc/testsuite/gcc.target/i386/sse-recip-vec.c
gcc/testsuite/gcc.target/i386/sse-recip.c
gcc/testsuite/gcc.target/i386/sse-rsqrtps-1.c
gcc/testsuite/gcc.target/i386/sse-set-ps-1.c
gcc/testsuite/gcc.target/i386/sse-sqrtps-1.c
gcc/testsuite/gcc.target/i386/sse-subps-1.c
gcc/testsuite/gcc.target/i386/sse-subss-1.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-1.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-2.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-3.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-4.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-5.c
gcc/testsuite/gcc.target/i386/sse-ucomiss-6.c
gcc/testsuite/gcc.target/i386/sse-unpckhps-1.c
gcc/testsuite/gcc.target/i386/sse-unpcklps-1.c
gcc/testsuite/gcc.target/i386/sse-xorps-1.c
gcc/testsuite/gcc.target/i386/sse2-check.h
gcc/testsuite/gcc.target/i386/sse3-check.h
gcc/testsuite/gcc.target/i386/ssefn-1.c
gcc/testsuite/gcc.target/i386/ssefn-3.c
gcc/testsuite/gcc.target/i386/sseregparm-1.c
gcc/testsuite/gcc.target/i386/stackalign/return-3.c
gcc/testsuite/gcc.target/i386/vectorize1.c
gcc/testsuite/gcc.target/i386/xorps-sse.c
gcc/testsuite/gfortran.dg/pr28158.f90
gcc/testsuite/gfortran.dg/pr30667.f
gcc/testsuite/gnat.dg/loop_optimization7.adb
gcc/testsuite/gnat.dg/sse_nolib.adb
gcc/testsuite/lib/target-supports.exp
libgfortran/ChangeLog
libgfortran/config/fpu-387.h