pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:350:    PUSH_INT(rip32__); \    } while(0)      #define AMD64_LOAD_IMM32(REG, IMM32) do { \    enum amd64_reg reg__ = (REG); \    int imm32__ = (IMM32); \    if (!imm32__) { \    AMD64_CLEAR_REG(reg__); \    } else { \    if (reg__ & 0x08) { \ -  add_to_program(0x4c); \ +  add_to_program(0x49); \    reg__ &= 0x07; \    } else { \    add_to_program(0x48); \    } \ -  add_to_program(0x8d); \ -  add_to_program((reg__<<3)|0x04); \ -  add_to_program(0x25); \ +  add_to_program(0xc7); \ +  add_to_program(0xc0|reg__); \    PUSH_INT(imm32__); \    } \    } while(0)      #define AMD64_LOAD_IMM(REG, IMM) do { \    enum amd64_reg reg64__ = (REG); \    INT64 imm__ = (IMM); \    if ((-0x80000000LL <= imm__) && \    (0x7fffffffLL >= imm__)) { \    AMD64_LOAD_IMM32(reg64__, imm__); \