Lines Matching defs:byte
116 * extra byte of encoding and is callee saved.
153 * which need extra byte of encoding.
169 * lower 8-bit registers dil,sil,bpl,spl,r8b..r15b, which need extra byte
186 static u8 add_1mod(u8 byte, u32 reg)
189 byte |= 1;
190 return byte;
193 static u8 add_2mod(u8 byte, u32 r1, u32 r2)
196 byte |= 1;
198 byte |= 4;
199 return byte;
202 /* Encode 'dst_reg' register into x86-64 opcode 'byte' */
203 static u8 add_1reg(u8 byte, u32 dst_reg)
205 return byte + reg2hex[dst_reg];
208 /* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */
209 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg)
211 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3);
214 /* Some 1-byte opcodes for binary ALU operations */
742 /* 1-byte signed displacement.
744 * If off == 0 we could skip this and save one extra byte, but
750 /* 4-byte signed displacement */
757 * Emit a REX byte if it will be necessary to address these registers
791 /* Emit 'movzx rax, byte ptr [rax + off]' */
821 /* Emit 'movsx rax, byte ptr [rax + off]' */
844 /* Emit 'mov byte ptr [rax + off], al' */
846 /* Add extra byte for eregs or SIL,DIL,BPL in src_reg */
960 /* emit the 3-byte VEX prefix
975 const u8 b0 = 0xc4; /* first byte of 3-byte VEX prefix */
984 * 2nd byte of 3-byte VEX prefix
994 * 3rd byte of 3-byte VEX prefix
1204 * equivalent to 'xor rdx, rdx', but one byte less
1722 /* test dst_reg, dst_reg to save one extra byte */
1848 * to pad any extra byte (0 byte).
1873 * jmp, there is nothing to pad (0 byte).
1963 * on-stack with "push" instruction, which will take 8-byte
1968 * However, sometimes the compiler will only allocate 4-byte on
1971 * not more than 4 byte. In this case, there will be garbage
1972 * values on the upper 4-byte where we store the argument on
1977 * stack_arg_1(4-byte) xxx(4-byte)
1981 * stack_arg_1(8-byte): stack_arg_1(origin) xxx
2319 * eth_type_trans has 5 byte nop at the beginning. These 5 bytes will be
2434 /* make sure the stack pointer is 16-byte aligned if we
2437 * should be 16-byte aligned. Following code depend on
2438 * that stack_size is already 8-byte aligned.
2550 * Coding Rule 11: All branch targets should be 16-byte
2663 * Coding Rule 11: All branch targets should be 16-byte