Re: Problem with inline Intel assembly and optimized build
Re: Problem with inline Intel assembly and optimized build
- Subject: Re: Problem with inline Intel assembly and optimized build
- From: Eric Albert <email@hidden>
- Date: Fri, 13 Jan 2006 16:49:41 -0800
On Jan 13, 2006, at 4:40 PM, Monroe Williams wrote:
I'm in the process of bringing an XCode 2.2 project up on Intel.
It builds and runs with the "Development" configuration, but when I
switch to "Deployment" I get the following at the end of a block of
inline assembly (file and function names changed to protect the
innocent). The block consists almost entirely of MMX/SSE
instructions.
foo.cpp: In function 'void bar(blah blah)':
foo.cpp:741: error: unable to find a register to spill in class
'SSE_REGS'
foo.cpp:741: error: this is the insn:
(insn:HI 30 29 31 0 foo.cpp:560 (set (reg/v:SF 64 [ last_weight ])
(mem/u/i:SF (symbol_ref/u:SI ("*LC43") [flags 0x2]) [5 S4
A32])) 60 {*movsf_1} (nil)
(nil))
foo.cpp:741: confused by earlier errors, bailing out
{standard input}:12192:FATAL:.abort detected. Assembly stopping.
Disabling the optimizer for this file (-O0) makes the error go
away. 'last_weight' is a 'float' variable that's used elsewhere in
the function, but not referenced from the inline assembly blocks.
Has anyone else seen an error like this? Any suggestions on other
ways to get around it? Obviously, this is code that I'd rather not
disable the optimizer on (since it's performance-critical enough to
warrant MMX optimizations in the first place).
Please file a bug report. We'll need a preprocessed version of the
file along with the command line being used to invoke the compiler.
Thanks,
Eric
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden