Lines Matching defs:byte

123  * extra byte of encoding and is callee saved.
161 * which need extra byte of encoding.
178 * lower 8-bit registers dil,sil,bpl,spl,r8b..r15b, which need extra byte
195 static u8 add_1mod(u8 byte, u32 reg)
198 byte |= 1;
199 return byte;
202 static u8 add_2mod(u8 byte, u32 r1, u32 r2)
205 byte |= 1;
207 byte |= 4;
208 return byte;
211 static u8 add_3mod(u8 byte, u32 r1, u32 r2, u32 index)
214 byte |= 1;
216 byte |= 2;
218 byte |= 4;
219 return byte;
222 /* Encode 'dst_reg' register into x86-64 opcode 'byte' */
223 static u8 add_1reg(u8 byte, u32 dst_reg)
225 return byte + reg2hex[dst_reg];
228 /* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */
229 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg)
231 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3);
234 /* Some 1-byte opcodes for binary ALU operations */
894 /* 1-byte signed displacement.
896 * If off == 0 we could skip this and save one extra byte, but
902 /* 4-byte signed displacement */
921 * Emit a REX byte if it will be necessary to address these registers
955 /* Emit 'movzx rax, byte ptr [rax + off]' */
985 /* Emit 'movsx rax, byte ptr [rax + off]' */
1007 /* movzx rax, byte ptr [rax + r12 + off] */
1039 /* Emit 'mov byte ptr [rax + off], al' */
1041 /* Add extra byte for eregs or SIL,DIL,BPL in src_reg */
1073 /* mov byte ptr [rax + r12 + off], al */
1105 /* mov byte ptr [rax + r12 + off], imm8 */
1204 /* emit the 3-byte VEX prefix
1219 const u8 b0 = 0xc4; /* first byte of 3-byte VEX prefix */
1228 * 2nd byte of 3-byte VEX prefix
1238 * 3rd byte of 3-byte VEX prefix
1503 * equivalent to 'xor rdx, rdx', but one byte less
2070 /* test dst_reg, dst_reg to save one extra byte */
2196 * to pad any extra byte (0 byte).
2221 * jmp, there is nothing to pad (0 byte).
2318 * on-stack with "push" instruction, which will take 8-byte
2323 * However, sometimes the compiler will only allocate 4-byte on
2326 * not more than 4 byte. In this case, there will be garbage
2327 * values on the upper 4-byte where we store the argument on
2332 * stack_arg_1(4-byte) xxx(4-byte)
2336 * stack_arg_1(8-byte): stack_arg_1(origin) xxx
2678 * eth_type_trans has 5 byte nop at the beginning. These 5 bytes will be
2803 /* make sure the stack pointer is 16-byte aligned if we
2806 * should be 16-byte aligned. Following code depend on
2807 * that stack_size is already 8-byte aligned.
2928 * Coding Rule 11: All branch targets should be 16-byte
3117 * Coding Rule 11: All branch targets should be 16-byte