On Tue, May 31, 2011 at 2:25 PM, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
> The only complication is that I need to make sure that SSE insns are only > used if the host supports them. > > Bootstrapped without regressions on i386-pc-solaris2.8, > i386-pc-solaris2.9, i386-pc-solaris2.11, and sparc-sun-solaris2.11. > > The libgcc part depends on the toplevel libgcc patch, so actually > applying this patch will have to wait until that one is in. > > Ok for mainline? > > Rainer > > > 2011-05-28 Rainer Orth <r...@cebitec.uni-bielefeld.de> > > gcc: > * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]: > Include <signal.h>, <ucontext.h>. > (sigill_caught): Define. > (sigill_hdlr): New function. > (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE > insns can be executed. > * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math > etc. > * config/sparc/sol2.h (ENDFILE_SPEC): Remove. > > libgcc: > * config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to > tmake_file. > Add crtfastmath.o to extra_parts. Please just put "if (edx & bit_SSE)" part inside existing check. You will need to split assignment of mxcsr from the declaration, though. OK with this change. Thanks, Uros.