H A D | bpf_jit_arcv2.c | 629 static inline void emit_2_bytes(u8 *buf, u16 bytes) argument 631 *((u16 *)buf) = bytes; 634 static inline void emit_4_bytes(u8 *buf, u32 bytes) argument 636 emit_2_bytes(buf, bytes >> 16); 637 emit_2_bytes(buf + 2, bytes & 0xffff); 659 static u8 arc_movi_r(u8 *buf, u8 reg, s16 imm) argument 663 if (buf) 664 emit_4_bytes(buf, insn); 669 static u8 arc_mov_r(u8 *buf, u8 rd, u8 rs) argument 673 if (buf) 679 arc_mov_i(u8 *buf, u8 rd, s32 imm) argument 694 arc_mov_i_fixed(u8 *buf, u8 rd, s32 imm) argument 706 arc_mov_cc_r(u8 *buf, u8 cc, u8 rd, u8 rs) argument 716 arc_movu_cc_r(u8 *buf, u8 cc, u8 rd, u8 imm) argument 726 arc_sexb_r(u8 *buf, u8 rd, u8 rs) argument 736 arc_sexh_r(u8 *buf, u8 rd, u8 rs) argument 746 arc_st_r(u8 *buf, u8 reg, u8 reg_mem, s16 off, u8 zz) argument 757 arc_push_r(u8 *buf, u8 reg) argument 767 arc_ld_r(u8 *buf, u8 reg, u8 reg_mem, s16 off, u8 zz) argument 778 arc_ldx_r(u8 *buf, u8 reg, u8 reg_mem, s16 off, u8 zz) argument 789 arc_pop_r(u8 *buf, u8 reg) argument 799 arc_add_r(u8 *buf, u8 ra, u8 rc) argument 809 arc_addf_r(u8 *buf, u8 ra, u8 rc) argument 819 arc_addif_r(u8 *buf, u8 ra, u8 u6) argument 829 arc_addi_r(u8 *buf, u8 ra, u8 u6) argument 839 arc_add_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument 851 arc_adc_r(u8 *buf, u8 ra, u8 rc) argument 861 arc_adci_r(u8 *buf, u8 ra, u8 u6) argument 871 arc_sub_r(u8 *buf, u8 ra, u8 rc) argument 881 arc_subf_r(u8 *buf, u8 ra, u8 rc) argument 891 arc_subi_r(u8 *buf, u8 ra, u8 u6) argument 901 arc_sub_i(u8 *buf, u8 ra, s32 imm) argument 913 arc_sbc_r(u8 *buf, u8 ra, u8 rc) argument 923 arc_cmp_r(u8 *buf, u8 rb, u8 rc) argument 940 arc_cmpz_r(u8 *buf, u8 rb, u8 rc) argument 950 arc_neg_r(u8 *buf, u8 ra, u8 rb) argument 960 arc_mpy_r(u8 *buf, u8 ra, u8 rb, u8 rc) argument 970 arc_mpy_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument 982 arc_mpydu_r(u8 *buf, u8 ra, u8 rc) argument 992 arc_mpydu_i(u8 *buf, u8 ra, s32 imm) argument 1004 arc_divu_r(u8 *buf, u8 rd, u8 rs) argument 1014 arc_divu_i(u8 *buf, u8 rd, s32 imm) argument 1026 arc_divs_r(u8 *buf, u8 rd, u8 rs) argument 1036 arc_divs_i(u8 *buf, u8 rd, s32 imm) argument 1048 arc_remu_r(u8 *buf, u8 rd, u8 rs) argument 1058 arc_remu_i(u8 *buf, u8 rd, s32 imm) argument 1070 arc_rems_r(u8 *buf, u8 rd, u8 rs) argument 1080 arc_rems_i(u8 *buf, u8 rd, s32 imm) argument 1092 arc_and_r(u8 *buf, u8 rd, u8 rs) argument 1102 arc_and_i(u8 *buf, u8 rd, s32 imm) argument 1114 arc_tst_r(u8 *buf, u8 rd, u8 rs) argument 1129 arc_tstz_r(u8 *buf, u8 rd, u8 rs) argument 1138 arc_or_r(u8 *buf, u8 rd, u8 rs1, u8 rs2) argument 1147 arc_or_i(u8 *buf, u8 rd, s32 imm) argument 1158 arc_xor_r(u8 *buf, u8 rd, u8 rs) argument 1167 arc_xor_i(u8 *buf, u8 rd, s32 imm) argument 1178 arc_not_r(u8 *buf, u8 rd, u8 rs) argument 1187 arc_btst_i(u8 *buf, u8 rs, u8 imm) argument 1196 arc_asl_r(u8 *buf, u8 rd, u8 rs1, u8 rs2) argument 1205 arc_asli_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1214 arc_asr_r(u8 *buf, u8 rd, u8 rs1, u8 rs2) argument 1223 arc_asri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1232 arc_lsr_r(u8 *buf, u8 rd, u8 rs1, u8 rs2) argument 1241 arc_lsri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1250 arc_swape_r(u8 *buf, u8 r) argument 1259 arc_jmp_return(u8 *buf) argument 1266 arc_jl(u8 *buf, u8 reg) argument 1280 arc_bcc(u8 *buf, u8 cc, int offset) argument 1294 arc_b(u8 *buf, s32 offset) argument 1305 zext(u8 *buf, u8 rd) argument 1313 mov_r32(u8 *buf, u8 rd, u8 rs, u8 sign_ext) argument 1336 mov_r32_i32(u8 *buf, u8 reg, s32 imm) argument 1341 mov_r64(u8 *buf, u8 rd, u8 rs, u8 sign_ext) argument 1375 mov_r64_i32(u8 *buf, u8 reg, s32 imm) argument 1419 mov_r64_i64(u8 *buf, u8 reg, u32 lo, u32 hi) argument 1442 adjust_mem_access(u8 *buf, s16 *off, u8 size, u8 rm, u8 *arc_reg_mem) argument 1460 store_r(u8 *buf, u8 rs, u8 rd, s16 off, u8 size) argument 1491 store_i(u8 *buf, s32 imm, u8 rd, s16 off, u8 size) argument 1521 push_r64(u8 *buf, u8 reg) argument 1540 load_r(u8 *buf, u8 rd, u8 rs, s16 off, u8 size, bool sign_ext) argument 1595 add_r32(u8 *buf, u8 rd, u8 rs) argument 1600 add_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1608 add_r64(u8 *buf, u8 rd, u8 rs) argument 1617 add_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1631 sub_r32(u8 *buf, u8 rd, u8 rs) argument 1636 sub_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1644 sub_r64(u8 *buf, u8 rd, u8 rs) argument 1653 sub_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1662 cmp_r32(u8 *buf, u8 rd, u8 rs) argument 1667 neg_r32(u8 *buf, u8 r) argument 1673 neg_r64(u8 *buf, u8 r) argument 1683 mul_r32(u8 *buf, u8 rd, u8 rs) argument 1688 mul_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1702 mul_r64(u8 *buf, u8 rd, u8 rs) argument 1748 mul_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1774 div_r32(u8 *buf, u8 rd, u8 rs, bool sign_ext) argument 1782 div_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument 1793 mod_r32(u8 *buf, u8 rd, u8 rs, bool sign_ext) argument 1801 mod_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument 1812 and_r32(u8 *buf, u8 rd, u8 rs) argument 1817 and_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1822 and_r64(u8 *buf, u8 rd, u8 rs) argument 1831 and_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1840 tst_r32(u8 *buf, u8 rd, u8 rs) argument 1845 or_r32(u8 *buf, u8 rd, u8 rs) argument 1850 or_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1855 or_r64(u8 *buf, u8 rd, u8 rs) argument 1864 or_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1873 xor_r32(u8 *buf, u8 rd, u8 rs) argument 1878 xor_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1883 xor_r64(u8 *buf, u8 rd, u8 rs) argument 1892 xor_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1902 lsh_r32(u8 *buf, u8 rd, u8 rs) argument 1907 lsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 1948 lsh_r64(u8 *buf, u8 rd, u8 rs) argument 1981 lsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument 2006 rsh_r32(u8 *buf, u8 rd, u8 rs) argument 2011 rsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 2043 rsh_r64(u8 *buf, u8 rd, u8 rs) argument 2076 rsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument 2101 arsh_r32(u8 *buf, u8 rd, u8 rs) argument 2106 arsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 2140 arsh_r64(u8 *buf, u8 rd, u8 rs) argument 2174 arsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument 2200 gen_swap(u8 *buf, u8 rd, u8 size, u8 endian, bool force, bool do_zext) argument 2275 frame_create(u8 *buf, u16 size) argument 2292 frame_restore(u8 *buf) argument 2303 bpf_to_arc_return(u8 *buf) argument 2318 arc_to_bpf_return(u8 *buf) argument 2347 jump_and_link(u8 *buf, u32 addr) argument 2404 arc_prologue(u8 *buf, u32 usage, u16 frame_size) argument 2450 arc_epilogue(u8 *buf, u32 usage, u16 frame_size) argument 2676 gen_j_eq_64(u8 *buf, u8 rd, u8 rs, bool eq, u32 curr_off, u32 targ_off) argument 2695 gen_jset_64(u8 *buf, u8 rd, u8 rs, u32 curr_off, u32 targ_off) argument 2804 gen_jcc_64(u8 *buf, u8 rd, u8 rs, u8 cond, u32 curr_off, u32 targ_off) argument 2839 gen_jmp_64(u8 *buf, u8 rd, u8 rs, u8 cond, u32 curr_off, u32 targ_off) argument 2939 gen_jmp_32(u8 *buf, u8 rd, u8 rs, u8 cond, u32 curr_off, u32 targ_off) argument 2988 gen_func_call(u8 *buf, ARC_ADDR func_addr, bool external_func) argument [all...] |