------- Comment #7 from hjl dot tools at gmail dot com 2010-03-27 15:37 ------- (In reply to comment #6) > 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? >
TARGET_SSEREGPARM may put DF/SF in xmm registers for function parameters, which is very similar to TARGET_SSE_MATH which uses xmm for DF/SF, but more than just function parameters. BTW, "-mpreferred-stack-boundary=2 -msse" never worked before gcc 4.4. We have a bunch of related bug reports: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43546