Home | History | Annotate | Download | only in mips

Lines Matching full:label

293   // Label operations & relative jumps (PPUM Appendix D).
295 // Takes a branch opcode (cc) and a label (L) and generates
297 // to the label fixup chain. Usage:
299 // Label L; // unbound label
300 // j(cc, &L); // forward branch to unbound label
301 // bind(&L); // bind label to the current pc
302 // j(cc, &L); // backward branch to bound label
303 // bind(&L); // illegal: a label may be bound only once
305 // Note: The same Label can be used for forward and backward branches
307 void bind(Label* L); // binds an unbound label L to the current code position
309 // Returns the branch offset to the given label from the current code position
310 // Links the label to the current position if it is still unbound
312 int32_t branch_offset(Label* L, bool jump_elimination_allowed);
313 int32_t shifted_branch_offset(Label* L, bool jump_elimination_allowed) {
321 void label_at_put(Label* L, int at_offset);
368 void b(Label* L) { b(branch_offset(L, false)>>2); }
370 void bal(Label* L) { bal(branch_offset(L, false)>>2); }
373 void beq(Register rs, Register rt, Label* L) {
383 void bne(Register rs, Register rt, Label* L) {
388 // instead of using the Label* version. See Twiki for infos.
500 void bc1f(Label* L, uint16_t cc = 0) { bc1f(branch_offset(L, false)>>2, cc); }
502 void bc1t(Label* L, uint16_t cc = 0) { bc1t(branch_offset(L, false)>>2, cc); }
505 // Check the code size generated from label to here.
506 int InstructionsGeneratedSince(Label* l) {
651 void print(Label* L);
652 void bind_to(Label* L, int pos);
653 void link_to(Label* L, Label* appendix);
654 void next(Label* L);