ack/util/mcgg/ir.dat

121 lines
1.1 KiB
Plaintext

# Flags:
# S: has size (use in CONST1, CONST2, CONST4, CONST8 forms)
# V: has no size (use in JUMP, CJUMP, RET forms)
# Simple terminals
S CONST # must be followed by float form
S CONSTF
V REG
V NOP
S LABEL
S BLOCK
V PAIR
S ANY
S LOCAL
V PHI
# Magic stack operations
S PUSH
S POP # must be followed by float form
S POPF
#... Memory operations
S LOAD # must be followed by float form
S LOADF
S STORE
S STOREF
# Arithemetic operations
S ADD
S SUB
S MUL
S DIV
S MOD
S NEG
S ADDF
S SUBF
S MULF
S DIVF
S NEGF
S AND
S OR
S EOR
S NOT
S ASL
S ASR
S LSL
S LSR
# Conversions
S CII1
S CII2
S CII4
S CII8
S CIU1
S CIU2
S CIU4
S CIU8
S CUI1
S CUI2
S CUI4
S CUI8
S CFI1
S CFI2
S CFI4
S CFI8
S CIF1
S CIF2
S CIF4
S CIF8
S CFF1
S CFF2
S CFF4
S CFF8
# Tristate comparisons
S COMPARES1
S COMPARES2
S COMPARES4
S COMPARES8
S COMPAREU1
S COMPAREU2
S COMPAREU4
S COMPAREU8
S COMPAREF1
S COMPAREF2
S COMPAREF4
S COMPAREF8
# Boolean comparisons
S IFEQ
S IFLT
S IFLE
# Procedures
V CALL
# Flow control --- these never return
V JUMP
V CJUMPEQ
V CJUMPLT
V CJUMPLE
V RET
# Special
S STACKADJUST
S GETRET
S SETRET
S GETFP
S CHAINFP
S FPTOARGS