Lines Matching +full:rs +full:-
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * The interface that a back-end should provide to bpf_jit_core.c.
40 /************** Functions that the back-end must provide **************/
41 /* Extension for 32-bit operations. */
44 u8 mov_r32(u8 *buf, u8 rd, u8 rs, u8 sign_ext);
46 u8 mov_r64(u8 *buf, u8 rd, u8 rs, u8 sign_ext);
50 u8 load_r(u8 *buf, u8 rd, u8 rs, s16 off, u8 size, bool sign_ext);
51 u8 store_r(u8 *buf, u8 rd, u8 rs, s16 off, u8 size);
54 u8 add_r32(u8 *buf, u8 rd, u8 rs);
56 u8 add_r64(u8 *buf, u8 rd, u8 rs);
59 u8 sub_r32(u8 *buf, u8 rd, u8 rs);
61 u8 sub_r64(u8 *buf, u8 rd, u8 rs);
64 u8 mul_r32(u8 *buf, u8 rd, u8 rs);
66 u8 mul_r64(u8 *buf, u8 rd, u8 rs);
69 u8 div_r32(u8 *buf, u8 rd, u8 rs, bool sign_ext);
72 u8 mod_r32(u8 *buf, u8 rd, u8 rs, bool sign_ext);
75 u8 and_r32(u8 *buf, u8 rd, u8 rs);
77 u8 and_r64(u8 *buf, u8 rd, u8 rs);
80 u8 or_r32(u8 *buf, u8 rd, u8 rs);
82 u8 or_r64(u8 *buf, u8 rd, u8 rs);
85 u8 xor_r32(u8 *buf, u8 rd, u8 rs);
87 u8 xor_r64(u8 *buf, u8 rd, u8 rs);
93 u8 lsh_r32(u8 *buf, u8 rd, u8 rs);
95 u8 lsh_r64(u8 *buf, u8 rd, u8 rs);
98 u8 rsh_r32(u8 *buf, u8 rd, u8 rs);
100 u8 rsh_r64(u8 *buf, u8 rd, u8 rs);
103 u8 arsh_r32(u8 *buf, u8 rd, u8 rs);
105 u8 arsh_r64(u8 *buf, u8 rd, u8 rs);
137 * - check_jmp_*() are prerequisites before calling the gen_jmp_*().
140 * - The notion of "*_off" is to emphasize that these parameters are
144 * JIT is on a word-aligned address, this works and actually makes
150 u8 gen_jmp_32(u8 *buf, u8 rd, u8 rs, u8 cond, u32 c_off, u32 t_off);
151 u8 gen_jmp_64(u8 *buf, u8 rd, u8 rs, u8 cond, u32 c_off, u32 t_off);
156 * - Perform byte swaps on "rd" based on the "size".
157 * - If "force" is set, do it unconditionally. Otherwise, consider the
159 * - For data "size"s up to 32 bits, perform a zero-extension if asked