dmd.backend.code_x86

Constants and data structures specific to the x86 platform.

Authors

Walter Bright

  • Declaration

    enum int mMSW;

    Masks for register pairs. Note that index registers are always LSWs. This is for the convenience of implementing far pointers.

  • Declaration

    enum int mLSW;

    Masks for register pairs. Note that index registers are always LSWs. This is for the convenience of implementing far pointers.

  • Declaration

    enum CLIB: int;

    C library routines. See callclib().

  • Declaration

    nothrow @safe ubyte modregrm(uint m, uint r, uint rm);

    Macros to ease generating code modregrm: generate mod reg r/m field modregxrm: reg could be R8..R15 modregrmx: rm could be R8..R15 modregxrmx: reg or rm could be R8..R15

    NEWREG: change reg field of x to r genorreg: OR t,f

  • NDP

    Declaration

    struct NDP;

  • Declaration

    struct Globals87;

  • Declaration

    Globals87 global87;

  • Declaration

    nothrow @safe void getlvalue_msw(code*);

  • Declaration

    nothrow @safe void getlvalue_lsw(code*);

  • Declaration

    nothrow @safe void getlvalue(ref CodeBuilder cdb, code* pcs, elem* e, regm_t keepmsk);

  • Declaration

    nothrow @safe void loadea(ref CodeBuilder cdb, elem* e, code* cs, uint op, uint reg, targ_size_t offset, regm_t keepmsk, regm_t desmsk);

  • Declaration

    nothrow @safe bool loadxmmconst(elem* e);