Lines Matching refs:dst_reg

107 static inline u32 reg(u32 dst_reg, u32 src_reg)
109 return reg2hex[dst_reg] << 4 | reg2hex[src_reg];
783 u32 dst_reg = insn->dst_reg;
807 EMIT4(0xb9160000, dst_reg, src_reg);
813 EMIT4(0xb9260000, dst_reg, src_reg);
815 EMIT4(0xb9160000, dst_reg, dst_reg);
819 EMIT4(0xb9270000, dst_reg, src_reg);
821 EMIT4(0xb9160000, dst_reg, dst_reg);
829 EMIT4(0xb9040000, dst_reg, src_reg);
833 EMIT4(0xb9060000, dst_reg, src_reg);
837 EMIT4(0xb9070000, dst_reg, src_reg);
841 EMIT4(0xb9140000, dst_reg, src_reg);
847 EMIT6_IMM(0xc00f0000, dst_reg, imm);
853 EMIT6_IMM(0xc0010000, dst_reg, imm);
865 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64));
874 EMIT2(0x1a00, dst_reg, src_reg);
875 EMIT_ZERO(dst_reg);
879 EMIT4(0xb9080000, dst_reg, src_reg);
884 EMIT6_IMM(0xc20b0000, dst_reg, imm);
886 EMIT_ZERO(dst_reg);
892 EMIT6_IMM(0xc2080000, dst_reg, imm);
899 EMIT2(0x1b00, dst_reg, src_reg);
900 EMIT_ZERO(dst_reg);
904 EMIT4(0xb9090000, dst_reg, src_reg);
909 EMIT6_IMM(0xc20b0000, dst_reg, -imm);
911 EMIT_ZERO(dst_reg);
918 EMIT6_IMM(0xc20a0000, dst_reg, 0x80000000);
921 EMIT6_IMM(0xc2080000, dst_reg, -imm);
929 EMIT4(0xb2520000, dst_reg, src_reg);
930 EMIT_ZERO(dst_reg);
934 EMIT4(0xb90c0000, dst_reg, src_reg);
939 EMIT6_IMM(0xc2010000, dst_reg, imm);
941 EMIT_ZERO(dst_reg);
947 EMIT6_IMM(0xc2000000, dst_reg, imm);
962 EMIT2(0x1800, REG_W1, dst_reg);
968 EMIT4(0xb9140000, REG_W1, dst_reg);
974 EMIT4(0xb9160000, dst_reg, rc_reg);
989 EMIT4(0xb9040000, REG_W1, dst_reg);
995 EMIT4(0xb9040000, REG_W1, dst_reg);
1001 EMIT4(0xb9040000, dst_reg, rc_reg);
1012 EMIT4_IMM(0xa7090000, dst_reg, 0);
1014 EMIT_ZERO(dst_reg);
1023 EMIT2(0x1800, REG_W1, dst_reg);
1030 EMIT4(0xb9140000, REG_W1, dst_reg);
1042 EMIT2(0x1800, REG_W1, dst_reg);
1044 EMIT6_PCREL_RILB(0xc40d0000, dst_reg,
1048 EMIT4(0xb9970000, REG_W0, dst_reg);
1052 EMIT4(0xb9140000, REG_W1, dst_reg);
1054 EMIT6_PCREL_RILB(0xc40c0000, dst_reg,
1058 EMIT4(0xb90d0000, REG_W0, dst_reg);
1063 EMIT4(0xb9160000, dst_reg, rc_reg);
1076 EMIT4_IMM(0xa7090000, dst_reg, 0);
1085 EMIT4(0xb9040000, REG_W1, dst_reg);
1092 EMIT4(0xb9040000, REG_W1, dst_reg);
1104 EMIT4(0xb9040000, REG_W1, dst_reg);
1106 EMIT6_PCREL_RILB(0xc4080000, dst_reg,
1110 EMIT4(0xb9870000, REG_W0, dst_reg);
1114 EMIT4(0xb9040000, REG_W1, dst_reg);
1116 EMIT6_PCREL_RILB(0xc4080000, dst_reg,
1120 EMIT4(0xb90d0000, REG_W0, dst_reg);
1125 EMIT4(0xb9040000, dst_reg, rc_reg);
1133 EMIT2(0x1400, dst_reg, src_reg);
1134 EMIT_ZERO(dst_reg);
1138 EMIT4(0xb9800000, dst_reg, src_reg);
1142 EMIT6_IMM(0xc00b0000, dst_reg, imm);
1143 EMIT_ZERO(dst_reg);
1149 dst_reg, REG_0, REG_L,
1157 EMIT4(0xb9800000, dst_reg, REG_W0);
1165 EMIT2(0x1600, dst_reg, src_reg);
1166 EMIT_ZERO(dst_reg);
1170 EMIT4(0xb9810000, dst_reg, src_reg);
1174 EMIT6_IMM(0xc00d0000, dst_reg, imm);
1175 EMIT_ZERO(dst_reg);
1181 dst_reg, REG_0, REG_L,
1189 EMIT4(0xb9810000, dst_reg, REG_W0);
1197 EMIT2(0x1700, dst_reg, src_reg);
1198 EMIT_ZERO(dst_reg);
1202 EMIT4(0xb9820000, dst_reg, src_reg);
1207 EMIT6_IMM(0xc0070000, dst_reg, imm);
1209 EMIT_ZERO(dst_reg);
1215 dst_reg, REG_0, REG_L,
1223 EMIT4(0xb9820000, dst_reg, REG_W0);
1231 EMIT4_DISP(0x89000000, dst_reg, src_reg, 0);
1232 EMIT_ZERO(dst_reg);
1236 EMIT6_DISP_LH(0xeb000000, 0x000d, dst_reg, dst_reg, src_reg, 0);
1241 EMIT4_DISP(0x89000000, dst_reg, REG_0, imm);
1243 EMIT_ZERO(dst_reg);
1249 EMIT6_DISP_LH(0xeb000000, 0x000d, dst_reg, dst_reg, REG_0, imm);
1256 EMIT4_DISP(0x88000000, dst_reg, src_reg, 0);
1257 EMIT_ZERO(dst_reg);
1261 EMIT6_DISP_LH(0xeb000000, 0x000c, dst_reg, dst_reg, src_reg, 0);
1266 EMIT4_DISP(0x88000000, dst_reg, REG_0, imm);
1268 EMIT_ZERO(dst_reg);
1274 EMIT6_DISP_LH(0xeb000000, 0x000c, dst_reg, dst_reg, REG_0, imm);
1281 EMIT4_DISP(0x8a000000, dst_reg, src_reg, 0);
1282 EMIT_ZERO(dst_reg);
1286 EMIT6_DISP_LH(0xeb000000, 0x000a, dst_reg, dst_reg, src_reg, 0);
1291 EMIT4_DISP(0x8a000000, dst_reg, REG_0, imm);
1293 EMIT_ZERO(dst_reg);
1299 EMIT6_DISP_LH(0xeb000000, 0x000a, dst_reg, dst_reg, REG_0, imm);
1306 EMIT2(0x1300, dst_reg, dst_reg);
1307 EMIT_ZERO(dst_reg);
1311 EMIT4(0xb9030000, dst_reg, dst_reg);
1321 EMIT4(0xb9850000, dst_reg, dst_reg);
1328 EMIT4(0xb9160000, dst_reg, dst_reg);
1339 EMIT4(0xb91f0000, dst_reg, dst_reg);
1341 EMIT4_DISP(0x88000000, dst_reg, REG_0, 16);
1343 EMIT4(0xb9850000, dst_reg, dst_reg);
1349 EMIT4(0xb91f0000, dst_reg, dst_reg);
1352 EMIT4(0xb9160000, dst_reg, dst_reg);
1356 EMIT4(0xb90f0000, dst_reg, dst_reg);
1370 EMIT6_DISP_LH(0xe3000000, 0x0072, src_reg, dst_reg, REG_0, off);
1375 EMIT6_DISP_LH(0xe3000000, 0x0070, src_reg, dst_reg, REG_0, off);
1380 EMIT6_DISP_LH(0xe3000000, 0x0050, src_reg, dst_reg, REG_0, off);
1385 EMIT6_DISP_LH(0xe3000000, 0x0024, src_reg, dst_reg, REG_0, off);
1392 EMIT6_DISP_LH(0xe3000000, 0x0072, REG_W0, dst_reg, REG_0, off);
1399 EMIT6_DISP_LH(0xe3000000, 0x0070, REG_W0, dst_reg, REG_0, off);
1406 EMIT6_DISP_LH(0xe3000000, 0x0050, REG_W0, dst_reg, REG_0, off);
1413 EMIT6_DISP_LH(0xe3000000, 0x0024, REG_W0, dst_reg, REG_0, off);
1429 src_reg, dst_reg, off); \
1458 dst_reg, off);
1461 REG_W0, src_reg, dst_reg, off);
1472 BPF_REG_0, src_reg, dst_reg, off);
1488 EMIT6_DISP_LH(0xe3000000, 0x0090, dst_reg, src_reg, REG_0, off);
1496 EMIT6_DISP_LH(0xe3000000, 0x0077, dst_reg, src_reg, REG_0, off);
1502 EMIT6_DISP_LH(0xe3000000, 0x0091, dst_reg, src_reg, REG_0, off);
1510 EMIT6_DISP_LH(0xe3000000, 0x0015, dst_reg, src_reg, REG_0, off);
1517 EMIT6_DISP_LH(0xe3000000, 0x0016, dst_reg, src_reg, REG_0, off);
1525 EMIT6_DISP_LH(0xe3000000, 0x0014, dst_reg, src_reg, REG_0, off);
1531 EMIT6_DISP_LH(0xe3000000, 0x0004, dst_reg, src_reg, REG_0, off);
1729 case BPF_JMP | BPF_JGT | BPF_K: /* (dst_reg > imm) */
1730 case BPF_JMP32 | BPF_JGT | BPF_K: /* ((u32) dst_reg > (u32) imm) */
1733 case BPF_JMP | BPF_JLT | BPF_K: /* (dst_reg < imm) */
1734 case BPF_JMP32 | BPF_JLT | BPF_K: /* ((u32) dst_reg < (u32) imm) */
1737 case BPF_JMP | BPF_JGE | BPF_K: /* (dst_reg >= imm) */
1738 case BPF_JMP32 | BPF_JGE | BPF_K: /* ((u32) dst_reg >= (u32) imm) */
1741 case BPF_JMP | BPF_JLE | BPF_K: /* (dst_reg <= imm) */
1742 case BPF_JMP32 | BPF_JLE | BPF_K: /* ((u32) dst_reg <= (u32) imm) */
1745 case BPF_JMP | BPF_JNE | BPF_K: /* (dst_reg != imm) */
1746 case BPF_JMP32 | BPF_JNE | BPF_K: /* ((u32) dst_reg != (u32) imm) */
1749 case BPF_JMP | BPF_JEQ | BPF_K: /* (dst_reg == imm) */
1750 case BPF_JMP32 | BPF_JEQ | BPF_K: /* ((u32) dst_reg == (u32) imm) */
1753 case BPF_JMP | BPF_JSET | BPF_K: /* (dst_reg & imm) */
1754 case BPF_JMP32 | BPF_JSET | BPF_K: /* ((u32) dst_reg & (u32) imm) */
1760 EMIT2(0x1400, REG_W1, dst_reg);
1765 EMIT4(0xb9800000, REG_W1, dst_reg);
1817 REG_W1, dst_reg, src_reg);
1823 dst_reg, imm);
1846 dst_reg, src_reg, i, off, mask);
1850 EMIT2(0x1900, dst_reg, src_reg);
1852 EMIT4(0xb9200000, dst_reg, src_reg);
1864 dst_reg, src_reg, i, off, mask);
1868 EMIT2(0x1500, dst_reg, src_reg);
1870 EMIT4(0xb9210000, dst_reg, src_reg);
2230 static void load_imm64(struct bpf_jit *jit, int dst_reg, u64 val)
2232 /* llihf %dst_reg,val_hi */
2233 EMIT6_IMM(0xc00e0000, dst_reg, (val >> 32));
2235 EMIT6_IMM(0xc00d0000, dst_reg, val);