Lines Matching full:emit

126 	emit(hppa_copy(rs, rd), ctx);  in emit_hppa_copy()
135 emit(hppa_copy(HPPA_REG_ZERO, r3), ctx); in emit_hppa_xor()
137 emit(hppa_xor(r1, r2, r3), ctx); in emit_hppa_xor()
147 emit(hppa_ldi(imm, rd), ctx); in emit_imm()
150 emit(hppa_ldil(imm, rd), ctx); in emit_imm()
153 emit(hppa_ldo(lower, rd, rd), ctx); in emit_imm()
158 /* Emit immediate into lower bits. */ in emit_imm32()
167 emit(hppa_ldi(-1, hi(rd)), ctx); in emit_imm32()
189 emit(hppa_ldo(1 * HPPA_INSN_SIZE, HPPA_REG_T0, HPPA_REG_T0), ctx); in __build_epilogue()
190 emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_T0, EXEC_NEXT_INSTR), ctx); in __build_epilogue()
192 emit(hppa_copy(HPPA_REG_TCC, HPPA_REG_TCC_IN_INIT), ctx); in __build_epilogue()
199 emit(EXIT_PTR_LOAD(HPPA_REG_RP), ctx); in __build_epilogue()
200 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx); in __build_epilogue()
209 emit(hppa_ldw(-REG_SIZE * (8 + (i-3)), HPPA_REG_SP, HPPA_R(i)), ctx); in __build_epilogue()
213 emit(hppa_ldw(-0x14, HPPA_REG_SP, HPPA_REG_RP), ctx); in __build_epilogue()
214 emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_RP, EXEC_NEXT_INSTR), ctx); in __build_epilogue()
216 emit(hppa_ldw(-0x04, HPPA_REG_SP, HPPA_REG_SP), ctx); in __build_epilogue()
228 emit(hppa_ldw(REG_SIZE * hi(reg) - offset_sp, HPPA_REG_SP, hi(tmp)), ctx); in bpf_get_reg64_offset()
229 emit(hppa_ldw(REG_SIZE * lo(reg) - offset_sp, HPPA_REG_SP, lo(tmp)), ctx); in bpf_get_reg64_offset()
251 emit(hppa_ldw(REG_SIZE * hi(reg), HPPA_REG_SP, hi(tmp)), ctx); in bpf_get_reg64_ref()
264 emit(hppa_stw(hi(src), REG_SIZE * hi(reg), HPPA_REG_SP), ctx); in bpf_put_reg64()
265 emit(hppa_stw(lo(src), REG_SIZE * lo(reg), HPPA_REG_SP), ctx); in bpf_put_reg64()
284 emit(hppa_ldw(REG_SIZE * lo(reg), HPPA_REG_SP, lo(tmp)), ctx); in bpf_get_reg32()
309 emit(hppa_stw(lo(src), REG_SIZE * lo(reg), HPPA_REG_SP), ctx); in bpf_put_reg32()
312 emit(hppa_stw(HPPA_REG_ZERO, REG_SIZE * hi(reg), HPPA_REG_SP), ctx); in bpf_put_reg32()
338 emit(hppa_ldil(func_addr, HPPA_REG_R31), ctx); in emit_call_millicode()
345 emit(hppa_or_cond(HPPA_REG_ARG1, HPPA_REG_ZERO, 1, 0, HPPA_REG_ZERO), ctx); in emit_call_millicode()
348 emit(hppa_be_l(im11(func_addr) >> 2, HPPA_REG_R31, NOP_NEXT_INSTR), ctx); in emit_call_millicode()
349 emit(hppa_nop(), ctx); /* this nop is needed here for delay slot */ in emit_call_millicode()
374 emit(hppa_ldo(2 * FRAME_SIZE, HPPA_REG_SP, HPPA_REG_SP), ctx); in emit_call_libgcc_ll()
377 emit(hppa_ldil(func_addr, HPPA_REG_R31), ctx); in emit_call_libgcc_ll()
385 emit(hppa_or_cond(HPPA_REG_ARG2, HPPA_REG_ARG3, 1, 0, HPPA_REG_ZERO), ctx); in emit_call_libgcc_ll()
387 emit(hppa_be_l(im11(func_addr) >> 2, HPPA_REG_R31, EXEC_NEXT_INSTR), ctx); in emit_call_libgcc_ll()
391 emit(hppa_ldo(-2 * FRAME_SIZE, HPPA_REG_SP, HPPA_REG_SP), ctx); in emit_call_libgcc_ll()
409 emit(hppa_bl(paoff - HPPA_BRANCH_DISPLACEMENT, HPPA_REG_ZERO), ctx); in emit_jump()
411 emit(hppa_nop(), ctx); in emit_jump()
417 emit(hppa_ldil(addr, HPPA_REG_R31), ctx); in emit_jump()
418emit(hppa_be_l(im11(addr) >> 2, HPPA_REG_R31, NOP_NEXT_INSTR), ctx); // be,l,n addr(sr4,r31), %sr0… in emit_jump()
439 emit(hppa_and(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i64()
445 emit(hppa_or(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i64()
462 emit(hppa_zdep(lo(rd), imm, imm, hi(rd)), ctx); in emit_alu_i64()
468 emit(hppa_shd(hi(rd), lo(rd), 32 - imm, hi(rd)), ctx); in emit_alu_i64()
469 emit(hppa_zdep(lo(rd), imm, imm, lo(rd)), ctx); in emit_alu_i64()
477 emit(hppa_shr(hi(rd), imm, lo(rd)), ctx); in emit_alu_i64()
483 emit(hppa_shrpw(hi(rd), lo(rd), imm, lo(rd)), ctx); in emit_alu_i64()
484 emit(hppa_shr(hi(rd), imm, hi(rd)), ctx); in emit_alu_i64()
492 emit(hppa_extrws(hi(rd), 31 - imm, imm, lo(rd)), ctx); in emit_alu_i64()
493 emit(hppa_extrws(hi(rd), 0, 31, hi(rd)), ctx); in emit_alu_i64()
496 emit(hppa_extrws(hi(rd), 0, 31, hi(rd)), ctx); in emit_alu_i64()
498 emit(hppa_shrpw(hi(rd), lo(rd), imm, lo(rd)), ctx); in emit_alu_i64()
499 emit(hppa_extrws(hi(rd), 31 - imm, imm, hi(rd)), ctx); in emit_alu_i64()
527 emit(hppa_add(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i32()
531 emit(hppa_sub(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i32()
535 emit(hppa_and(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i32()
539 emit(hppa_or(lo(rd), HPPA_REG_T0, lo(rd)), ctx); in emit_alu_i32()
547 emit(hppa_zdep(lo(rd), imm, imm, lo(rd)), ctx); in emit_alu_i32()
551 emit(hppa_shr(lo(rd), imm, lo(rd)), ctx); in emit_alu_i32()
555 emit(hppa_extrws(lo(rd), 31 - imm, imm, lo(rd)), ctx); in emit_alu_i32()
584 emit(hppa_add(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r64()
585 emit(hppa_addc(hi(rd), hi(rs), hi(rd)), ctx); in emit_alu_r64()
588 emit(hppa_sub(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r64()
589 emit(hppa_subb(hi(rd), hi(rs), hi(rd)), ctx); in emit_alu_r64()
592 emit(hppa_and(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r64()
593 emit(hppa_and(hi(rd), hi(rs), hi(rd)), ctx); in emit_alu_r64()
596 emit(hppa_or(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r64()
597 emit(hppa_or(hi(rd), hi(rs), hi(rd)), ctx); in emit_alu_r64()
622 emit(hppa_sub(HPPA_REG_ZERO, lo(rd), lo(rd)), ctx); in emit_alu_r64()
623 emit(hppa_subb(HPPA_REG_ZERO, hi(rd), hi(rd)), ctx); in emit_alu_r64()
651 emit(hppa_add(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r32()
654 emit(hppa_sub(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r32()
657 emit(hppa_and(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r32()
660 emit(hppa_or(lo(rd), lo(rs), lo(rd)), ctx); in emit_alu_r32()
675 emit(hppa_subi(0x1f, lo(rs), HPPA_REG_T0), ctx); in emit_alu_r32()
676 emit(hppa_mtsar(HPPA_REG_T0), ctx); in emit_alu_r32()
677 emit(hppa_depwz_sar(lo(rd), lo(rd)), ctx); in emit_alu_r32()
680 emit(hppa_mtsar(lo(rs)), ctx); in emit_alu_r32()
681 emit(hppa_shrpw_sar(lo(rd), lo(rd)), ctx); in emit_alu_r32()
684 // emit(hppa_beq(lo(rs), HPPA_REG_ZERO, 2), ctx); in emit_alu_r32()
685 emit(hppa_subi(0x1f, lo(rs), HPPA_REG_T0), ctx); in emit_alu_r32()
686 emit(hppa_mtsar(HPPA_REG_T0), ctx); in emit_alu_r32()
687 emit(hppa_extrws_sar(lo(rd), lo(rd)), ctx); in emit_alu_r32()
690 emit(hppa_sub(HPPA_REG_ZERO, lo(rd), lo(rd)), ctx); // sub r0,rd,rd in emit_alu_r32()
722 emit(hppa_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
723 emit(hppa_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
726 emit(hppa_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
727 emit(hppa_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
728 emit(hppa_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
731 emit(hppa_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
732 emit(hppa_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
733 emit(hppa_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
736 emit(hppa_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
737 emit(hppa_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
738 emit(hppa_bltu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
741 emit(hppa_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
742 emit(hppa_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
743 emit(hppa_bgtu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
746 emit(hppa_bne(hi(rs1), hi(rs2), JUMP(1)), ctx); in emit_branch_r64()
747 emit(hppa_beq(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
750 emit(hppa_bgt(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
751 emit(hppa_blt(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
752 emit(hppa_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
755 emit(hppa_blt(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
756 emit(hppa_bgt(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
757 emit(hppa_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
760 emit(hppa_bgt(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
761 emit(hppa_blt(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
762 emit(hppa_bltu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
765 emit(hppa_blt(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64()
766 emit(hppa_bgt(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64()
767 emit(hppa_bgtu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64()
770 emit(hppa_and(hi(rs1), hi(rs2), HPPA_REG_T0), ctx); in emit_branch_r64()
771 emit(hppa_and(lo(rs1), lo(rs2), HPPA_REG_T1), ctx); in emit_branch_r64()
772 emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, JUMP(1)), ctx); in emit_branch_r64()
773 emit(hppa_beq(HPPA_REG_T1, HPPA_REG_ZERO, NO_JUMP(0)), ctx); in emit_branch_r64()
800 emit(hppa_and(rd, rs, HPPA_REG_T0), ctx); in emit_bcc()
824 emit(hppa_beq(rd, rs, off), ctx); in emit_bcc()
827 emit(hppa_bgtu(rd, rs, off), ctx); in emit_bcc()
830 emit(hppa_bltu(rd, rs, off), ctx); in emit_bcc()
833 emit(hppa_bgeu(rd, rs, off), ctx); in emit_bcc()
836 emit(hppa_bleu(rd, rs, off), ctx); in emit_bcc()
839 emit(hppa_bne(rd, rs, off), ctx); in emit_bcc()
842 emit(hppa_bgt(rd, rs, off), ctx); in emit_bcc()
845 emit(hppa_blt(rd, rs, off), ctx); in emit_bcc()
848 emit(hppa_bge(rd, rs, off), ctx); in emit_bcc()
851 emit(hppa_ble(rd, rs, off), ctx); in emit_bcc()
894 emit(hppa_ldo(offset_sp, HPPA_REG_SP, HPPA_REG_SP), ctx); in emit_call()
898 emit(hppa_stw(hi(reg), -0x48, HPPA_REG_SP), ctx); in emit_call()
899 emit(hppa_stw(lo(reg), -0x44, HPPA_REG_SP), ctx); in emit_call()
902 emit(hppa_stw(hi(reg), -0x40, HPPA_REG_SP), ctx); in emit_call()
903 emit(hppa_stw(lo(reg), -0x3c, HPPA_REG_SP), ctx); in emit_call()
906 emit(hppa_stw(hi(reg), -0x38, HPPA_REG_SP), ctx); in emit_call()
907 emit(hppa_stw(lo(reg), -0x34, HPPA_REG_SP), ctx); in emit_call()
919 emit(hppa_copy(HPPA_REG_TCC, HPPA_REG_TCC_SAVED), ctx); in emit_call()
926 emit(hppa_ldil(addr, HPPA_REG_R31), ctx); in emit_call()
927 emit(hppa_be_l(im11(addr) >> 2, HPPA_REG_R31, EXEC_NEXT_INSTR), ctx); in emit_call()
933 emit(hppa_copy(HPPA_REG_TCC_SAVED, HPPA_REG_TCC), ctx); in emit_call()
936 emit(hppa_ldo(-offset_sp, HPPA_REG_SP, HPPA_REG_SP), ctx); in emit_call()
957 emit(EXIT_PTR_LOAD(HPPA_REG_RP), ctx); in emit_bpf_tail_call()
962 emit(hppa_ldw(off, lo(arr_reg), HPPA_REG_T1), ctx); in emit_bpf_tail_call()
968 emit(hppa_bltu(lo(idx_reg), HPPA_REG_T1, 2 - HPPA_BRANCH_DISPLACEMENT), ctx); in emit_bpf_tail_call()
969 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx); in emit_bpf_tail_call()
976 emit(hppa_ldo(-1, HPPA_REG_TCC, HPPA_REG_TCC), ctx); in emit_bpf_tail_call()
977 emit(hppa_bge(HPPA_REG_TCC, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx); in emit_bpf_tail_call()
978 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx); in emit_bpf_tail_call()
986 emit(hppa_sh2add(lo(idx_reg), lo(arr_reg), HPPA_REG_T0), ctx); in emit_bpf_tail_call()
989 emit(hppa_ldw(off, HPPA_REG_T0, HPPA_REG_T0), ctx); in emit_bpf_tail_call()
990 emit(hppa_bne(HPPA_REG_T0, HPPA_REG_ZERO, 2 - HPPA_BRANCH_DISPLACEMENT), ctx); in emit_bpf_tail_call()
991 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx); in emit_bpf_tail_call()
1000 emit(hppa_ldw(off, HPPA_REG_T0, HPPA_REG_T0), ctx); in emit_bpf_tail_call()
1021 emit(hppa_addil(off, lo(rs)), ctx); in emit_load_r64()
1028 emit(hppa_ldb(off + 0, srcreg, lo(rd)), ctx); in emit_load_r64()
1033 emit(hppa_ldh(off + 0, srcreg, lo(rd)), ctx); in emit_load_r64()
1038 emit(hppa_ldw(off + 0, srcreg, lo(rd)), ctx); in emit_load_r64()
1043 emit(hppa_ldw(off + 0, srcreg, hi(rd)), ctx); in emit_load_r64()
1044 emit(hppa_ldw(off + 4, srcreg, lo(rd)), ctx); in emit_load_r64()
1068 emit(hppa_addil(off, lo(rd)), ctx); in emit_store_r64()
1075 emit(hppa_stb(lo(rs), off + 0, dstreg), ctx); in emit_store_r64()
1078 emit(hppa_sth(lo(rs), off + 0, dstreg), ctx); in emit_store_r64()
1081 emit(hppa_stw(lo(rs), off + 0, dstreg), ctx); in emit_store_r64()
1084 emit(hppa_stw(hi(rs), off + 0, dstreg), ctx); in emit_store_r64()
1085 emit(hppa_stw(lo(rs), off + 4, dstreg), ctx); in emit_store_r64()
1094 emit(hppa_extru(rd, 23, 8, HPPA_REG_T1), ctx); in emit_rev16()
1095 emit(hppa_depwz(rd, 23, 8, HPPA_REG_T1), ctx); in emit_rev16()
1096 emit(hppa_extru(HPPA_REG_T1, 31, 16, rd), ctx); in emit_rev16()
1101 emit(hppa_shrpw(rs, rs, 16, HPPA_REG_T1), ctx); in emit_rev32()
1102 emit(hppa_depwz(HPPA_REG_T1, 15, 8, HPPA_REG_T1), ctx); in emit_rev32()
1103 emit(hppa_shrpw(rs, HPPA_REG_T1, 8, rd), ctx); in emit_rev32()
1250 emit(hppa_extru(lo(rd), 31, 16, lo(rd)), ctx); in bpf_jit_emit_insn()
1396 emit(EXIT_PTR_LOAD(HPPA_REG_RP), ctx); in bpf_jit_emit_insn()
1397 emit(EXIT_PTR_JUMP(HPPA_REG_RP, NOP_NEXT_INSTR), ctx); in bpf_jit_emit_insn()
1500 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_TCC_IN_INIT), ctx); in bpf_jit_build_prologue()
1505 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_R1), ctx); in bpf_jit_build_prologue()
1506emit(hppa_bne(HPPA_REG_TCC_IN_INIT, HPPA_REG_R1, ctx->prologue_len - 2 - HPPA_BRANCH_DISPLACEMENT)… in bpf_jit_build_prologue()
1510emit(hppa_ldo(stack_adjust, HPPA_REG_SP, HPPA_REG_SP), ctx); // ldo stack_adjust(sp),sp (increase … in bpf_jit_build_prologue()
1511 emit(hppa_stw(HPPA_REG_R1, -REG_SIZE, HPPA_REG_SP), ctx); // stw prev_sp,-0x04(sp) in bpf_jit_build_prologue()
1512 emit(hppa_stw(HPPA_REG_RP, -0x14, HPPA_REG_SP), ctx); // stw rp,-0x14(sp) in bpf_jit_build_prologue()
1525 emit(hppa_stw(HPPA_R(i), -REG_SIZE * (8 + (i-3)), HPPA_REG_SP), ctx); // stw ri,-save_area(sp) in bpf_jit_build_prologue()
1532 emit(hppa_ldi(MAX_TAIL_CALL_CNT, HPPA_REG_TCC), ctx); in bpf_jit_build_prologue()
1541 emit(hppa_ldil(addr, HPPA_REG_T2), ctx); in bpf_jit_build_prologue()
1542 emit(hppa_ldo(im11(addr), HPPA_REG_T2, HPPA_REG_T2), ctx); in bpf_jit_build_prologue()
1543 emit(EXIT_PTR_STORE(HPPA_REG_T2), ctx); in bpf_jit_build_prologue()
1551 emit(hppa_ldw(-0x48, HPPA_REG_R1, hi(reg)), ctx); in bpf_jit_build_prologue()
1553 emit(hppa_ldw(-0x44, HPPA_REG_R1, lo(reg)), ctx); in bpf_jit_build_prologue()
1561 emit(hppa_ldw(-0x40, HPPA_REG_R1, hi(reg)), ctx); in bpf_jit_build_prologue()
1563 emit(hppa_ldw(-0x3c, HPPA_REG_R1, lo(reg)), ctx); in bpf_jit_build_prologue()
1571 emit(hppa_ldw(-0x38, HPPA_REG_R1, hi(reg)), ctx); in bpf_jit_build_prologue()
1573 emit(hppa_ldw(-0x34, HPPA_REG_R1, lo(reg)), ctx); in bpf_jit_build_prologue()
1602 emit(hppa_ldo(-REG_SIZE * (NR_SAVED_REGISTERS + BPF_JIT_SCRATCH_REGS), in bpf_jit_build_prologue()
1609 emit(hppa_nop(), ctx); in bpf_jit_build_prologue()