.set noat .set noreorder .set gp=64 # A function symbol (but some projects use it for everything). .macro glabel label, visibility=global .\visibility \label \label: .endm # The end of a function symbol. .macro endlabel label .size \label, . - \label .endm # An alternative entry to a function. .macro alabel label, visibility=global .\visibility \label .type \label, @function \label: .endm # A data symbol. .macro dlabel label, visibility=global .\visibility \label \label: .endm # End of a data symbol. .macro enddlabel label .size \label, . - \label .endm # A label referenced by a jumptable. .macro jlabel label \label: .endm # Label to signal the symbol haven't been matched yet. .macro nonmatching label, size=1 .global \label\().NON_MATCHING .type \label\().NON_MATCHING, @object .size \label\().NON_MATCHING, \size \label\().NON_MATCHING: .endm # Float register aliases (o32 ABI, odd ones are rarely used) .set $fv0, $f0 .set $fv0f, $f1 .set $fv1, $f2 .set $fv1f, $f3 .set $ft0, $f4 .set $ft0f, $f5 .set $ft1, $f6 .set $ft1f, $f7 .set $ft2, $f8 .set $ft2f, $f9 .set $ft3, $f10 .set $ft3f, $f11 .set $fa0, $f12 .set $fa0f, $f13 .set $fa1, $f14 .set $fa1f, $f15 .set $ft4, $f16 .set $ft4f, $f17 .set $ft5, $f18 .set $ft5f, $f19 .set $fs0, $f20 .set $fs0f, $f21 .set $fs1, $f22 .set $fs1f, $f23 .set $fs2, $f24 .set $fs2f, $f25 .set $fs3, $f26 .set $fs3f, $f27 .set $fs4, $f28 .set $fs4f, $f29 .set $fs5, $f30 .set $fs5f, $f31