MS/CW-style inline assembly for GCC
Stan Shebs
shebs@apple.com
Fri May 7 21:39:00 GMT 2004
Mark Mitchell wrote:
> Matt Austern wrote:
>
>> If you can come up with an assembly syntax that's genuinely better
>> than CW's, and if we can convincingly tell our developers that it's
>> better, then we really will consider telling our developers they
>> should convert their code.
>
>
> Oh, throwing down the guantlet! :-)
>
> I'm in Palm Springs next week, I'll see if anything springs to mind --
> but I don't really expect to do better that CW. I do understand why
> people like that more than GCC's syntax.
>
Yep, it's not a take-it-or-leave-it situation - there will almost
certainly be points of CW compatibility that are too fragrant for
FSF GCC under any circumstances, but that Apple needs, and those
would remain local as usual. A good analogy is AltiVec, which has a
generic implementation built on on even more generic vector machinery,
but for which we have Apple-specific changes as well.
> To do CW-syntax (in an ideal) world, you'd want the assembler
> integrated into the compiler. It would then parse the assembly code,
> emitting actual RTL insns into the instruction stream. Right? (That,
> presumably, is how CW actually inserts code in and amongst these
> assembly instructions; it just puts them into the instruction stream
> and then happily schedules them along with everything else.) Whereas
> Apple's current implementation produces one big asm string for GCC,
> annoated with constraints obtained by parsing the assembly code a
> bit. Right?
Right, although I make a separate asm statement for each line of
assembly (if nothing else, a single asm statement would have a
rather large number of inputs, outputs, and clobbers, could cause
reload problems).
Stan
More information about the Gcc
mailing list