__asm behavior, "+" parameters, and c-parse.in

Jeffrey A Law law@hurl.cygnus.com
Sun Jan 31 23:58:00 GMT 1999


  In message < 19990122023748.58663@liafa1.liafa.jussieu.fr >you write:
  > Assume a sequence of assembler instructions that has only input/output
  > operands, plus side-effect on memory.
  > 
  > Unless I'm missing something, the simplest way to write this would be
  > to specify read/write output parameters ("+regclass"), no input parameters,
  > and clobbers.
  > 
  > The current C parser  can only read asm that look like
  > asm(instr) or asm(instr : input) or asm(instr : input: output) or
  > asm(instr : input: output: clobbers), but there is no provision for
  > asm(instr : input : clobbers).
  > asm(instr : input : : clobbers) does not work either, results in a syntax
  > error.
  > 
  > 
  > As far as I could tell, there is no possible ambiguity between input/output
  > and clobbers, so this should be easy to add.
  > 
  > It may be that I'm missing something and there is a good reason to use
  > the more intricate "=regclass" (par) : "number" (par)  input/output match.
At one time "+" was not allowed in an asm constraint.  That changed at some
point, but I don't know when.  The FSF didn't keep extend.texi under any
version control until very recently.

Jeff



More information about the Gcc mailing list