------- Comment #6 from rguenth at gcc dot gnu dot org 2010-03-27 15:23 ------- (In reply to comment #5) > (In reply to comment #4) > > No, sseregparm should be perfectly fine with x87 math - it only needs > > (obviously) SSE registers available. It's an ABI switch like regparm, > > whether math is done using SSE registers or x87 math doesn't and shouldn't > > matter. > > > > Then you need to exam all code paths with -msseregparm to see > if TARGET_SSEREGPARM check is needed when TARGET_SSE_MATH is > checked.
I don't follow. TARGET_SSEREGPARM does not mean you'll do SSE math. It merely says that you can expect incoming arguments in SSE registers instead of on stack. For -mpreferred-stack-boundary=2 how is the stack for incoming arguments of double type aligned? Also if we'd ever spill a double to stack with x87 math we'd run into exactly the same assert? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43546