View source code
Display the source code in dmd/backend/x86/cgcod.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.backend.x86.cgcod.scodelem

Same as codelem(), but do not destroy the registers in keepmsk. Use scratch registers as much as possible, then use stack.

void scodelem (
  ref CGstate cg,
  ref dmd.backend.codebuilder.CodeBuilder cdb,
  elem* e,
  ulong* pretregs,
  ulong keepmsk,
  bool constflag
) nothrow @trusted;

Parameters

NameDescription
cg code generator global state
cdb Code builder to write generated code to
e Element to generate code for
pretregs mask of possible registers to return result in will be updated with mask of registers result is returned in

Note

longs are in AX,BX or CX,DX or SI,DI doubles are AX,BX,CX,DX only keepmask = mask of registers not to be changed during execution of e constflag = true if user of result will not modify the registers returned in *pretregs.

Authors

Walter Bright

License

Boost License 1.0