BUF
len += arc_asri_r(BUF(buf, len),
len += arc_mov_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += arc_movi_r(BUF(buf, len), REG_HI(rd), 0);
len += arc_movi_r(BUF(buf, len), REG_HI(reg), 0);
len += arc_movi_r(BUF(buf, len), REG_HI(reg), -1);
len += arc_mov_i_fixed(BUF(buf, len), REG_HI(reg), hi);
len += arc_add_i(BUF(buf, len),
len += arc_st_r(BUF(buf, len), REG_LO(rs), arc_reg_mem,
len += arc_st_r(BUF(buf, len), REG_HI(rs), arc_reg_mem,
len += arc_st_r(BUF(buf, len), REG_LO(rs), arc_reg_mem,
len += arc_mov_i(BUF(buf, len), arc_rs, imm);
len += arc_st_r(BUF(buf, len), arc_rs, arc_reg_mem,
len += arc_mov_i(BUF(buf, len), arc_rs, imm);
len += arc_st_r(BUF(buf, len), arc_rs, arc_reg_mem,
len += arc_mov_i(BUF(buf, len), arc_rs, imm);
len += arc_st_r(BUF(buf, len), arc_rs, arc_reg_mem, off, zz);
len += arc_push_r(BUF(buf, len), REG_HI(reg));
len += arc_push_r(BUF(buf, len), REG_LO(reg));
len += arc_push_r(BUF(buf, len), REG_LO(reg));
len += arc_push_r(BUF(buf, len), REG_HI(reg));
len += arc_ldx_r(BUF(buf, len), REG_LO(rd),
len += arc_ld_r(BUF(buf, len), REG_LO(rd),
len += arc_asri_r(BUF(buf, len),
len += arc_movi_r(BUF(buf, len), REG_HI(rd), 0);
len += arc_ld_r(BUF(buf, len), REG_LO(rd), arc_reg_mem,
len += arc_ld_r(BUF(buf, len), REG_HI(rd), arc_reg_mem,
len += arc_ld_r(BUF(buf, len), REG_HI(rd), arc_reg_mem,
len += arc_ld_r(BUF(buf, len), REG_LO(rd), arc_reg_mem,
len += arc_adc_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += arc_adci_r(BUF(buf, len), REG_HI(rd), 0);
len += add_r64(BUF(buf, len), rd, JIT_REG_TMP);
len += arc_sbc_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += sub_r64(BUF(buf, len), rd, JIT_REG_TMP);
len += arc_not_r(BUF(buf, len), REG_HI(r), REG_HI(r));
len += add_r64_i32(BUF(buf, len), r, 1);
len += arc_mpy_r(BUF(buf, len), t1, B_lo, C_hi);
len += arc_mpydu_r(BUF(buf, len), B_lo, C_lo);
len += arc_add_r(BUF(buf, len), B_hi, t0);
len += arc_add_r(BUF(buf, len), B_hi, t1);
len += arc_neg_r(BUF(buf, len), t1, B_lo);
len += arc_mpy_i(BUF(buf, len), t0, B_hi, imm);
len += arc_mpydu_i(BUF(buf, len), B_lo, imm);
len += arc_add_r(BUF(buf, len), B_hi, t0);
len += arc_add_r(BUF(buf, len), B_hi, t1);
len += arc_and_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += and_r64(BUF(buf, len), rd, JIT_REG_TMP);
len += arc_or_r(BUF(buf, len), REG_HI(rd), REG_HI(rd), REG_HI(rs));
len += or_r64(BUF(buf, len), rd, JIT_REG_TMP);
len += arc_xor_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += xor_r64(BUF(buf, len), rd, JIT_REG_TMP);
len += arc_lsri_r(BUF(buf, len), t1, B_lo, 1);
len += arc_lsr_r(BUF(buf, len), t1, t1, t0);
len += arc_mov_r(BUF(buf, len), t0, C_lo);
len += arc_asl_r(BUF(buf, len), B_lo, B_lo, t0);
len += arc_asl_r(BUF(buf, len), B_hi, B_hi, t0);
len += arc_or_r(BUF(buf, len), B_hi, B_hi, t1);
len += arc_btst_i(BUF(buf, len), t0, 5);
len += arc_mov_cc_r(BUF(buf, len), CC_unequal, B_hi, B_lo);
len += arc_movu_cc_r(BUF(buf, len), CC_unequal, B_lo, 0);
len += arc_asli_r(BUF(buf, len), B_lo, B_lo, n);
len += arc_asli_r(BUF(buf, len), B_hi, B_hi, n);
len += arc_or_r(BUF(buf, len), B_hi, B_hi, t0);
len += arc_movi_r(BUF(buf, len), B_lo, 0);
len += arc_asli_r(BUF(buf, len), t1, B_hi, 1);
len += arc_asl_r(BUF(buf, len), t1, t1, t0);
len += arc_mov_r(BUF(buf, len), t0, C_lo);
len += arc_lsr_r(BUF(buf, len), B_hi, B_hi, t0);
len += arc_lsr_r(BUF(buf, len), B_lo, B_lo, t0);
len += arc_or_r(BUF(buf, len), B_lo, B_lo, t1);
len += arc_btst_i(BUF(buf, len), t0, 5);
len += arc_mov_cc_r(BUF(buf, len), CC_unequal, B_lo, B_hi);
len += arc_movu_cc_r(BUF(buf, len), CC_unequal, B_hi, 0);
len += arc_lsri_r(BUF(buf, len), B_lo, B_lo, n);
len += arc_lsri_r(BUF(buf, len), B_hi, B_hi, n);
len += arc_or_r(BUF(buf, len), B_lo, B_lo, t0);
len += arc_movi_r(BUF(buf, len), B_hi, 0);
len += arc_asli_r(BUF(buf, len), t1, B_hi, 1);
len += arc_asl_r(BUF(buf, len), t1, t1, t0);
len += arc_mov_r(BUF(buf, len), t0, C_lo);
len += arc_asr_r(BUF(buf, len), B_hi, B_hi, t0);
len += arc_lsr_r(BUF(buf, len), B_lo, B_lo, t0);
len += arc_or_r(BUF(buf, len), B_lo, B_lo, t1);
len += arc_btst_i(BUF(buf, len), t0, 5);
len += arc_asri_r(BUF(buf, len), t0, B_hi, 31);
len += arc_mov_cc_r(BUF(buf, len), CC_unequal, B_lo, B_hi);
len += arc_mov_cc_r(BUF(buf, len), CC_unequal, B_hi, t0);
len += arc_lsri_r(BUF(buf, len), B_lo, B_lo, n);
len += arc_asri_r(BUF(buf, len), B_hi, B_hi, n);
len += arc_or_r(BUF(buf, len), B_lo, B_lo, t0);
len += arc_movi_r(BUF(buf, len), B_hi, -1);
len += arc_btst_i(BUF(buf, len), B_lo, 31);
len += arc_movu_cc_r(BUF(buf, len), CC_equal, B_hi, 0);
len += arc_swape_r(BUF(buf, len), REG_LO(rd));
len += zext(BUF(buf, len), rd);
len += arc_xor_r(BUF(buf, len), REG_LO(rd), REG_HI(rd));
len += arc_xor_r(BUF(buf, len), REG_HI(rd), REG_LO(rd));
len += arc_swape_r(BUF(buf, len), REG_LO(rd));
len += arc_swape_r(BUF(buf, len), REG_HI(rd));
len += zext(BUF(buf, len), rd);
len += arc_subi_r(BUF(buf, len), ARC_R_SP, size);
len += arc_sub_i(BUF(buf, len), ARC_R_SP, size);
len += arc_mov_r(BUF(buf, len), ARC_R_1, REG_HI(BPF_REG_0));
len += arc_mov_r(BUF(buf, len), REG_HI(BPF_REG_0), ARC_R_1);
len += arc_jl(BUF(buf, len), REG_LO(JIT_REG_TMP));
len += arc_push_r(BUF(buf, len), ARC_R_BLINK);
len += arc_push_r(BUF(buf, len), reg);
len += arc_push_r(BUF(buf, len), ARC_R_FP);
len += frame_create(BUF(buf, len), frame_size);
len += frame_restore(BUF(buf, len));
len += arc_pop_r(BUF(buf, len), ARC_R_FP);
len += arc_pop_r(BUF(buf, len), reg);
len += arc_pop_r(BUF(buf, len), ARC_R_BLINK);
len += bpf_to_arc_return(BUF(buf, len));
len += arc_jmp_return(BUF(buf, len));
len += arc_cmp_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += arc_cmpz_r(BUF(buf, len), REG_LO(rd), REG_LO(rs));
len += arc_bcc(BUF(buf, len), eq ? CC_equal : CC_unequal, disp);
len += arc_tst_r(BUF(buf, len), REG_HI(rd), REG_HI(rs));
len += arc_tstz_r(BUF(buf, len), REG_LO(rd), REG_LO(rs));
len += arc_bcc(BUF(buf, len), CC_unequal, disp);
len += arc_bcc(BUF(buf, len), cc[0], disp);
len += arc_bcc(BUF(buf, len), cc[1], disp);
len += arc_cmp_r(BUF(buf, len), REG_LO(rd), REG_LO(rs));
len += arc_bcc(BUF(buf, len), cc[2], disp);
len += arc_bcc(BUF(buf, len), arcv2_32_jmps[cond], disp);
len += push_r64(BUF(buf, len), BPF_REG_5);
len += jump_and_link(BUF(buf, len), func_addr);
len += arc_add_i(BUF(buf, len), ARC_R_SP, ARC_R_SP, ARG5_SIZE);
len += zext(BUF(buf, len), dst);
BUF(ctx->jit.buf, ctx->jit.len));
*len += mov_r32_i32(BUF(buf, *len), JIT_REG_TMP,
*len += mov_r64_i32(BUF(buf, *len), JIT_REG_TMP,
*len += gen_jmp_32(BUF(buf, *len), rd, rs, cond,
*len += gen_jmp_64(BUF(buf, *len), rd, rs, cond,
*len += arc_to_bpf_return(BUF(buf, *len));
(SMP_CORE_GROUP0_BASE + SMP_CORE0_OFFSET + BUF);
(SMP_CORE_GROUP0_BASE + SMP_CORE1_OFFSET + BUF);
(SMP_CORE_GROUP0_BASE + SMP_CORE2_OFFSET + BUF);
(SMP_CORE_GROUP0_BASE + SMP_CORE3_OFFSET + BUF);
(SMP_CORE_GROUP1_BASE + SMP_CORE0_OFFSET + BUF);
(SMP_CORE_GROUP1_BASE + SMP_CORE1_OFFSET + BUF);
(SMP_CORE_GROUP1_BASE + SMP_CORE2_OFFSET + BUF);
(SMP_CORE_GROUP1_BASE + SMP_CORE3_OFFSET + BUF);
(SMP_CORE_GROUP2_BASE + SMP_CORE0_OFFSET + BUF);
(SMP_CORE_GROUP2_BASE + SMP_CORE1_OFFSET + BUF);
(SMP_CORE_GROUP2_BASE + SMP_CORE2_OFFSET + BUF);
(SMP_CORE_GROUP2_BASE + SMP_CORE3_OFFSET + BUF);
(SMP_CORE_GROUP3_BASE + SMP_CORE0_OFFSET + BUF);
(SMP_CORE_GROUP3_BASE + SMP_CORE1_OFFSET + BUF);
(SMP_CORE_GROUP3_BASE + SMP_CORE2_OFFSET + BUF);
(SMP_CORE_GROUP3_BASE + SMP_CORE3_OFFSET + BUF);
#define LOAD_BUF(BUF, FROM) do { ret = load_buf(BUF, FROM); if (ret < 0) goto out; } while (0)
#define PREP_BUF(BUF, LEN) \
(BUF)->len = (LEN); \
ret = prep_buf((BUF)); \
OMAP_MMC_WRITE(host, BUF, buf);
OMAP_MMC_WRITE(host, BUF, 0x1f1f);
OMAP_MMC_WRITE(host, BUF, 0);
#define TELEM_CHECK_AND_PARSE_EVTS(EVTID, EVTNUM, BUF, EVTLOG, EVTDAT, MASK) { \
(BUF)[idx] = ((EVTLOG) >> (EVTDAT)[idx].bit_pos) & \
SET_GBE_FIELD(WID, BUF, val, GBE_BMODE_BOTH);