CACAO
Macros
md-asm.hpp File Reference

Go to the source code of this file.

Macros

#define a0   %r2
 
#define a1   %r3
 
#define a2   %r4
 
#define a3   %r5
 
#define a4   %r6
 
#define sp   %r15
 
#define itmp1   %r1
 
#define itmp2   %r14
 
#define itmp3   %r0
 
#define v0   %r2
 
#define pv   %r13
 
#define ra   %r14
 
#define mptr   itmp1
 
#define xptr   itmp3
 
#define xpc   itmp1
 
#define s0   %r7
 
#define s1   %r8
 
#define s2   %r9
 
#define s3   %r10
 
#define s4   %r11
 
#define s5   %r12
 
#define fa0   %f0
 
#define fa1   %f2
 
#define ftmp1   %r4
 
#define ftmp2   %r6
 
#define LOAD_STORE_VOLATILE_FLOAT_REGISTERS(inst, off)
 
#define VOLATILE_FLOAT_REGISTERS_SIZE   (14 * 8)
 
#define LOAD_VOLATILE_FLOAT_REGISTERS(off)   LOAD_STORE_VOLATILE_FLOAT_REGISTERS(ld, off)
 
#define STORE_VOLATILE_FLOAT_REGISTERS(off)   LOAD_STORE_VOLATILE_FLOAT_REGISTERS(std, off)
 
#define LOAD_STORE_VOLATILE_INTEGER_REGISTERS(instm, inst, off)
 
#define VOLATILE_INTEGER_REGISTERS_SIZE   (7 * 4)
 
#define LOAD_VOLATILE_INTEGER_REGISTERS(off)   LOAD_STORE_VOLATILE_INTEGER_REGISTERS(lm, l, off)
 
#define STORE_VOLATILE_INTEGER_REGISTERS(off)   LOAD_STORE_VOLATILE_INTEGER_REGISTERS(stm, st, off)
 
#define ARGUMENT_REGISTERS_SIZE   ((5 * 4) + (2 * 8))
 
#define LOAD_STORE_ARGUMENT_REGISTERS(iinst, finst, off)
 
#define STORE_ARGUMENT_REGISTERS(off)   LOAD_STORE_ARGUMENT_REGISTERS(stm, std, off)
 
#define LOAD_ARGUMENT_REGISTERS(off)   LOAD_STORE_ARGUMENT_REGISTERS(lm, ld, off)
 
#define TEMPORARY_REGISTERS_SIZE   ((1 * 4) + (12 * 8))
 
#define LOAD_STORE_TEMPORARY_REGISTERS(iinst, finst, off)
 
#define LOAD_TEMPORARY_REGISTERS(off)   LOAD_STORE_TEMPORARY_REGISTERS(l, ld, off)
 
#define STORE_TEMPORARY_REGISTERS(off)   LOAD_STORE_TEMPORARY_REGISTERS(st, std, off)
 

Macro Definition Documentation

#define a0   %r2

Definition at line 32 of file md-asm.hpp.

#define a1   %r3

Definition at line 33 of file md-asm.hpp.

#define a2   %r4

Definition at line 34 of file md-asm.hpp.

#define a3   %r5

Definition at line 35 of file md-asm.hpp.

#define a4   %r6

Definition at line 36 of file md-asm.hpp.

#define ARGUMENT_REGISTERS_SIZE   ((5 * 4) + (2 * 8))

Definition at line 100 of file md-asm.hpp.

#define fa0   %f0

Definition at line 57 of file md-asm.hpp.

#define fa1   %f2

Definition at line 58 of file md-asm.hpp.

#define ftmp1   %r4

Definition at line 59 of file md-asm.hpp.

#define ftmp2   %r6

Definition at line 60 of file md-asm.hpp.

#define itmp1   %r1

Definition at line 39 of file md-asm.hpp.

#define itmp2   %r14

Definition at line 40 of file md-asm.hpp.

#define itmp3   %r0

Definition at line 41 of file md-asm.hpp.

#define LOAD_ARGUMENT_REGISTERS (   off)    LOAD_STORE_ARGUMENT_REGISTERS(lm, ld, off)

Definition at line 108 of file md-asm.hpp.

#define LOAD_STORE_ARGUMENT_REGISTERS (   iinst,
  finst,
  off 
)
Value:
iinst %r2, %r6, (off)(sp) ; \
finst %f0, (off + (5 * 4))(sp) ; \
finst %f2, (off + (5 * 4) + 8)(sp)
#define r2
Definition: md-asm.hpp:39
#define sp
Definition: md-asm.hpp:38
#define r6
Definition: md-asm.hpp:43

Definition at line 102 of file md-asm.hpp.

#define LOAD_STORE_TEMPORARY_REGISTERS (   iinst,
  finst,
  off 
)
Value:
finst %f1, ((0 * 8) + (off))(sp); \
finst %f3, ((1 * 8) + (off))(sp); \
finst %f5, ((2 * 8) + (off))(sp); \
finst %f7, ((3 * 8) + (off))(sp); \
finst %f8, ((4 * 8) + (off))(sp); \
finst %f9, ((5 * 8) + (off))(sp); \
finst %f10, ((6 * 8) + (off))(sp); \
finst %f11, ((7 * 8) + (off))(sp); \
finst %f12, ((8 * 8) + (off))(sp); \
finst %f13, ((9 * 8) + (off))(sp); \
finst %f14, ((10 * 8) + (off))(sp); \
finst %f15, ((11 * 8) + (off))(sp); \
iinst %r0, ((12 * 8) + (off))(sp);
#define sp
Definition: md-asm.hpp:38
#define r0
Definition: md-asm.hpp:37

Definition at line 114 of file md-asm.hpp.

#define LOAD_STORE_VOLATILE_FLOAT_REGISTERS (   inst,
  off 
)
Value:
inst %f0, ((0 * 8) + (off))(sp); \
inst %f2, ((1 * 8) + (off))(sp); \
inst %f1, ((2 * 8) + (off))(sp); \
inst %f3, ((3 * 8) + (off))(sp); \
inst %f5, ((4 * 8) + (off))(sp); \
inst %f7, ((5 * 8) + (off))(sp); \
inst %f8, ((6 * 8) + (off))(sp); \
inst %f9, ((7 * 8) + (off))(sp); \
inst %f10, ((8 * 8) + (off))(sp); \
inst %f11, ((9 * 8) + (off))(sp); \
inst %f12, ((10 * 8) + (off))(sp); \
inst %f13, ((11 * 8) + (off))(sp); \
inst %f14, ((12 * 8) + (off))(sp); \
inst %f15, ((13 * 8) + (off))(sp);
#define sp
Definition: md-asm.hpp:38

Definition at line 66 of file md-asm.hpp.

#define LOAD_STORE_VOLATILE_INTEGER_REGISTERS (   instm,
  inst,
  off 
)
Value:
instm %r0, %r5, ((0 * 4) + (off))(sp); \
inst %r14, ((6 * 4) + (off))(sp);
#define sp
Definition: md-asm.hpp:38
#define r0
Definition: md-asm.hpp:37
#define r5
Definition: md-asm.hpp:42
#define r14
Definition: md-asm.hpp:51

Definition at line 89 of file md-asm.hpp.

#define LOAD_TEMPORARY_REGISTERS (   off)    LOAD_STORE_TEMPORARY_REGISTERS(l, ld, off)

Definition at line 129 of file md-asm.hpp.

#define LOAD_VOLATILE_FLOAT_REGISTERS (   off)    LOAD_STORE_VOLATILE_FLOAT_REGISTERS(ld, off)

Definition at line 84 of file md-asm.hpp.

#define LOAD_VOLATILE_INTEGER_REGISTERS (   off)    LOAD_STORE_VOLATILE_INTEGER_REGISTERS(lm, l, off)

Definition at line 95 of file md-asm.hpp.

#define mptr   itmp1

Definition at line 46 of file md-asm.hpp.

#define pv   %r13

Definition at line 43 of file md-asm.hpp.

#define ra   %r14

Definition at line 44 of file md-asm.hpp.

#define s0   %r7

Definition at line 50 of file md-asm.hpp.

#define s1   %r8

Definition at line 51 of file md-asm.hpp.

#define s2   %r9

Definition at line 52 of file md-asm.hpp.

#define s3   %r10

Definition at line 53 of file md-asm.hpp.

#define s4   %r11

Definition at line 54 of file md-asm.hpp.

#define s5   %r12

Definition at line 55 of file md-asm.hpp.

#define sp   %r15

Definition at line 38 of file md-asm.hpp.

#define STORE_ARGUMENT_REGISTERS (   off)    LOAD_STORE_ARGUMENT_REGISTERS(stm, std, off)

Definition at line 107 of file md-asm.hpp.

#define STORE_TEMPORARY_REGISTERS (   off)    LOAD_STORE_TEMPORARY_REGISTERS(st, std, off)

Definition at line 130 of file md-asm.hpp.

#define STORE_VOLATILE_FLOAT_REGISTERS (   off)    LOAD_STORE_VOLATILE_FLOAT_REGISTERS(std, off)

Definition at line 85 of file md-asm.hpp.

#define STORE_VOLATILE_INTEGER_REGISTERS (   off)    LOAD_STORE_VOLATILE_INTEGER_REGISTERS(stm, st, off)

Definition at line 96 of file md-asm.hpp.

#define TEMPORARY_REGISTERS_SIZE   ((1 * 4) + (12 * 8))

Definition at line 112 of file md-asm.hpp.

#define v0   %r2

Definition at line 42 of file md-asm.hpp.

#define VOLATILE_FLOAT_REGISTERS_SIZE   (14 * 8)

Definition at line 82 of file md-asm.hpp.

#define VOLATILE_INTEGER_REGISTERS_SIZE   (7 * 4)

Definition at line 93 of file md-asm.hpp.

#define xpc   itmp1

Definition at line 48 of file md-asm.hpp.

#define xptr   itmp3

Definition at line 47 of file md-asm.hpp.