Lines Matching refs:dst
449 const u8 dst = bpf2a64[insn->dst_reg];
458 reg = dst;
461 emit(A64_ADD(1, tmp, tmp, dst), ctx);
519 const u8 dst = bpf2a64[insn->dst_reg];
532 reg = dst;
535 emit(A64_ADD(1, tmp, tmp, dst), ctx);
765 const u8 dst = bpf2a64[insn->dst_reg];
786 /* dst = src */
791 emit(A64_MOV(is64, dst, src), ctx);
794 emit(A64_SXTB(is64, dst, src), ctx);
797 emit(A64_SXTH(is64, dst, src), ctx);
800 emit(A64_SXTW(is64, dst, src), ctx);
804 /* dst = dst OP src */
807 emit(A64_ADD(is64, dst, dst, src), ctx);
811 emit(A64_SUB(is64, dst, dst, src), ctx);
815 emit(A64_AND(is64, dst, dst, src), ctx);
819 emit(A64_ORR(is64, dst, dst, src), ctx);
823 emit(A64_EOR(is64, dst, dst, src), ctx);
827 emit(A64_MUL(is64, dst, dst, src), ctx);
832 emit(A64_UDIV(is64, dst, dst, src), ctx);
834 emit(A64_SDIV(is64, dst, dst, src), ctx);
839 emit(A64_UDIV(is64, tmp, dst, src), ctx);
841 emit(A64_SDIV(is64, tmp, dst, src), ctx);
842 emit(A64_MSUB(is64, dst, dst, tmp, src), ctx);
846 emit(A64_LSLV(is64, dst, dst, src), ctx);
850 emit(A64_LSRV(is64, dst, dst, src), ctx);
854 emit(A64_ASRV(is64, dst, dst, src), ctx);
856 /* dst = -dst */
859 emit(A64_NEG(is64, dst, dst), ctx);
861 /* dst = BSWAP##imm(dst) */
874 emit(A64_REV16(is64, dst, dst), ctx);
876 emit(A64_UXTH(is64, dst, dst), ctx);
879 emit(A64_REV32(is64, dst, dst), ctx);
883 emit(A64_REV64(dst, dst), ctx);
891 emit(A64_UXTH(is64, dst, dst), ctx);
895 emit(A64_UXTW(is64, dst, dst), ctx);
902 /* dst = imm */
905 emit_a64_mov_i(is64, dst, imm, ctx);
907 /* dst = dst OP imm */
911 emit(A64_ADD_I(is64, dst, dst, imm), ctx);
913 emit(A64_SUB_I(is64, dst, dst, -imm), ctx);
916 emit(A64_ADD(is64, dst, dst, tmp), ctx);
922 emit(A64_SUB_I(is64, dst, dst, imm), ctx);
924 emit(A64_ADD_I(is64, dst, dst, -imm), ctx);
927 emit(A64_SUB(is64, dst, dst, tmp), ctx);
932 a64_insn = A64_AND_I(is64, dst, dst, imm);
937 emit(A64_AND(is64, dst, dst, tmp), ctx);
942 a64_insn = A64_ORR_I(is64, dst, dst, imm);
947 emit(A64_ORR(is64, dst, dst, tmp), ctx);
952 a64_insn = A64_EOR_I(is64, dst, dst, imm);
957 emit(A64_EOR(is64, dst, dst, tmp), ctx);
963 emit(A64_MUL(is64, dst, dst, tmp), ctx);
969 emit(A64_UDIV(is64, dst, dst, tmp), ctx);
971 emit(A64_SDIV(is64, dst, dst, tmp), ctx);
977 emit(A64_UDIV(is64, tmp, dst, tmp2), ctx);
979 emit(A64_SDIV(is64, tmp, dst, tmp2), ctx);
980 emit(A64_MSUB(is64, dst, dst, tmp, tmp2), ctx);
984 emit(A64_LSL(is64, dst, dst, imm), ctx);
988 emit(A64_LSR(is64, dst, dst, imm), ctx);
992 emit(A64_ASR(is64, dst, dst, imm), ctx);
1005 /* IF (dst COND src) JUMP off */
1026 emit(A64_CMP(is64, dst, src), ctx);
1069 emit(A64_TST(is64, dst, src), ctx);
1071 /* IF (dst COND imm) JUMP off */
1093 emit(A64_CMP_I(is64, dst, imm), ctx);
1095 emit(A64_CMN_I(is64, dst, -imm), ctx);
1098 emit(A64_CMP(is64, dst, tmp), ctx);
1103 a64_insn = A64_TST_I(is64, dst, imm);
1108 emit(A64_TST(is64, dst, tmp), ctx);
1142 /* dst = imm64 */
1150 emit_addr_mov_i64(dst, imm64, ctx);
1152 emit_a64_mov_i64(dst, imm64, ctx);
1157 /* LDX: dst = (u64)*(unsigned size *)(src + off) */
1186 emit(A64_LDRSWI(dst, src_adj, off_adj), ctx);
1188 emit(A64_LDR32I(dst, src_adj, off_adj), ctx);
1192 emit(A64_LDRSW(dst, src_adj, off_adj), ctx);
1194 emit(A64_LDR32(dst, src, tmp), ctx);
1200 emit(A64_LDRSHI(dst, src_adj, off_adj), ctx);
1202 emit(A64_LDRHI(dst, src_adj, off_adj), ctx);
1206 emit(A64_LDRSH(dst, src, tmp), ctx);
1208 emit(A64_LDRH(dst, src, tmp), ctx);
1214 emit(A64_LDRSBI(dst, src_adj, off_adj), ctx);
1216 emit(A64_LDRBI(dst, src_adj, off_adj), ctx);
1220 emit(A64_LDRSB(dst, src, tmp), ctx);
1222 emit(A64_LDRB(dst, src, tmp), ctx);
1227 emit(A64_LDR64I(dst, src_adj, off_adj), ctx);
1230 emit(A64_LDR64(dst, src, tmp), ctx);
1235 ret = add_exception_handler(insn, ctx, dst);
1253 /* ST: *(size *)(dst + off) = imm */
1258 if (ctx->fpb_offset > 0 && dst == fp) {
1262 dst_adj = dst;
1273 emit(A64_STR32(tmp, dst, tmp2), ctx);
1281 emit(A64_STRH(tmp, dst, tmp2), ctx);
1289 emit(A64_STRB(tmp, dst, tmp2), ctx);
1297 emit(A64_STR64(tmp, dst, tmp2), ctx);
1303 /* STX: *(size *)(dst + off) = src */
1308 if (ctx->fpb_offset > 0 && dst == fp) {
1312 dst_adj = dst;
1321 emit(A64_STR32(src, dst, tmp), ctx);
1329 emit(A64_STRH(src, dst, tmp), ctx);
1337 emit(A64_STRB(src, dst, tmp), ctx);
1345 emit(A64_STR64(src, dst, tmp), ctx);
1383 const u8 dst = insn->dst_reg;
1400 if (mode == BPF_MEM && dst == BPF_REG_FP &&
1412 if (dst == BPF_REG_FP)
1424 if (dst == BPF_REG_FP)