• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/cddl/dev/dtrace/x86/

Lines Matching defs:wbit

2312 #define	OPSIZE(osize, wbit) ((wbit) ? isize[osize] : 1)
2313 #define OPSIZE64(osize, wbit) ((wbit) ? isize64[osize] : 1)
2507 dtrace_imm_opnd(dis86_t *x, int wbit, int size, int opindex)
2516 switch (wbit) {
2573 dtrace_disp_opnd(dis86_t *x, int wbit, int size, int opindex)
2575 dtrace_imm_opnd(x, wbit, size, opindex);
2605 * wbit = indicates which register (8bit, 16bit, ... MMX, etc.) set to use.
2612 dtrace_get_operand(dis86_t *x, uint_t mode, uint_t r_m, int wbit, int opindex)
2634 switch (wbit) {
2781 if (wbit == YMM_OPND) /* NOTE this is not addr_size! */
2822 * wbit indicates a byte(0) or opnd_size(1) operation
2825 #define STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, vbit) { \
2828 dtrace_get_operand(x, mode, r_m, wbit, vbit); \
2829 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1 - vbit); \
2834 * classes (ie. wbit).
2835 * wbit is for the r_m operand
2838 #define MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, w2, vbit) { \
2841 dtrace_get_operand(x, mode, r_m, wbit, vbit); \
2851 #define THREEOPERAND(x, mode, reg, r_m, rex_prefix, wbit, w2, immsize, vbit) { \
2854 dtrace_get_operand(x, mode, r_m, wbit, 2-vbit); \
2856 dtrace_imm_opnd(x, wbit, immsize, 0); \
2862 #define FOUROPERAND(x, mode, reg, r_m, rex_prefix, wbit, w2, immsize) { \
2865 dtrace_get_operand(x, mode, r_m, wbit, 2); \
2867 dtrace_imm_opnd(x, wbit, immsize, 1); \
2868 dtrace_imm_opnd(x, wbit, immsize, 0); \
2874 #define ONEOPERAND_TWOIMM(x, mode, reg, r_m, rex_prefix, wbit, immsize) { \
2877 dtrace_get_operand(x, mode, r_m, wbit, 2); \
2878 dtrace_imm_opnd(x, wbit, immsize, 1); \
2879 dtrace_imm_opnd(x, wbit, immsize, 0); \
2905 uint_t wbit; /* opcode wbit, 0 is 8 bit, !0 for opnd_size */
2906 uint_t w2; /* wbit value for second operand */
3218 wbit = LONG_OPND;
3221 wbit = YMM_OPND;
3223 wbit = XMM_OPND;
3717 wbit = LONG_OPND;
3718 dtrace_get_operand(x, mode, r_m, wbit, 0);
3724 * wbit lives in 2nd byte, note that operands
3736 wbit = WBIT(opcode5);
3737 dtrace_get_operand(x, mode, r_m, wbit, 0);
3748 wbit = WBIT(opcode7);
3751 dtrace_get_operand(x, mode, r_m, wbit, 0);
3761 wbit = WBIT(opcode7);
3764 if (wbit) {
3767 dtrace_get_operand(x, mode, r_m, wbit, 1);
3771 dtrace_get_operand(x, mode, r_m, wbit, 0);
3780 wbit = LONG_OPND;
3781 THREEOPERAND(x, mode, reg, r_m, rex_prefix, wbit, LONG_OPND,
3788 wbit = WBIT(opcode2);
3789 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 0);
3796 wbit = WBIT(opcode5);
3798 wbit = WBIT(opcode2);
3799 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 1);
3804 wbit = 0;
3805 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 1);
3812 wbit = strcmp(dp->it_name, "movd") ? MM_OPND : LONG_OPND;
3814 wbit = LONG_OPND;
3816 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, MM_OPND, 1);
3824 wbit = MM_OPND;
3825 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, MM_OPND, 1);
3830 wbit = LONG_OPND;
3833 dtrace_get_operand(x, mode, r_m, wbit, 2);
3835 dtrace_imm_opnd(x, wbit, 1, 0);
3842 wbit = LONG_OPND;
3843 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 1);
3848 wbit = WBIT(opcode2);
3850 dtrace_get_operand(x, mode, r_m, wbit, 1);
3854 dtrace_imm_opnd(x, wbit, OPSIZE(opnd_size, opcode2 == 1), 0);
3860 wbit = WBIT(opcode2);
3863 dtrace_get_operand(x, mode, r_m, wbit, 1);
3864 dtrace_imm_opnd(x, wbit, OPSIZE(opnd_size, wbit), 0);
3871 wbit = opcode2 >>3 & 0x1;
3876 dtrace_get_operand(x, mode, r_m, wbit, 1);
3877 dtrace_imm_opnd(x, wbit, OPSIZE64(opnd_size, wbit), 0);
3883 wbit = MM_OPND;
3888 wbit = XMM_OPND;
3892 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
3893 dtrace_imm_opnd(x, wbit, 1, 0);
3904 wbit = WBIT(opcode2);
3905 dtrace_get_operand(x, REG_ONLY, EAX_REGNO, wbit, 1 - vbit);
3906 dtrace_imm_opnd(x, wbit, OPSIZE64(addr_size, LONG_OPND), vbit);
3932 wbit = WBIT(opcode2);
3934 dtrace_get_operand(x, mode, r_m, wbit, 1);
3949 wbit = WBIT(opcode2);
3952 dtrace_get_operand(x, mode, r_m, wbit, 1);
3953 dtrace_imm_opnd(x, wbit, 1, 0);
3958 wbit = LONG_OPND;
3963 wbit = WBIT(opcode2);
3967 dtrace_get_operand(x, mode, r_m, wbit, 0);
3995 wbit = LONG_OPND;
4000 wbit = BYTE_OPND;
4126 wbit = LONG_OPND;
4131 dtrace_get_operand(x, mode, r_m, wbit, 0);
4142 wbit = CONTROL_OPND;
4149 wbit = DEBUG_OPND;
4156 wbit = TEST_OPND;
4162 dtrace_get_operand(x, REG_ONLY, reg, wbit, vbit);
4218 wbit = LONG_OPND;
4219 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 0);
4224 wbit = LONG_OPND;
4225 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 1);
4232 wbit = strcmp(dp->it_name, "movd") ? MM_OPND : LONG_OPND;
4234 wbit = LONG_OPND;
4236 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, MM_OPND, 0);
4241 wbit = strcmp(dp->it_name, "movd") ? MM_OPND : LONG_OPND;
4243 wbit = LONG_OPND;
4250 dtrace_get_operand(x, mode, r_m, wbit, 0);
4257 wbit = MM_OPND;
4260 wbit = XMM_OPND;
4266 THREEOPERAND(x, mode, reg, r_m, rex_prefix, wbit, LONG_OPND, 1,
4278 wbit = LONG_OPND;
4283 wbit = LONG_OPND;
4286 THREEOPERAND(x, mode, reg, r_m, rex_prefix, wbit, w2, 1, 1);
4292 wbit = w2 = MM_OPND;
4301 wbit = MM_OPND;
4302 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, LONG_OPND, 0);
4311 wbit = XMM_OPND;
4312 STANDARD_MODRM(x, mode, reg, r_m, rex_prefix, wbit, 0);
4347 wbit = XMM_OPND;
4348 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 1);
4355 wbit = XMM_OPND;
4365 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 0);
4370 wbit = LONG_OPND;
4371 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 0);
4375 wbit = LONG_OPND;
4376 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 1);
4383 wbit = MM_OPND;
4384 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 0);
4391 wbit = XMM_OPND;
4392 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, MM_OPND, 0);
4398 wbit = XMM_OPND;
4399 MIXED_MM(x, mode, reg, r_m, rex_prefix, wbit, LONG_OPND, 0);
4419 wbit = XMM_OPND;
4420 THREEOPERAND(x, mode, reg, r_m, rex_prefix, wbit, XMM_OPND, 1,
4465 wbit = WBIT(opcode2);
4466 dtrace_get_operand(x, REG_ONLY, EAX_REGNO, wbit, 1);
4467 dtrace_imm_opnd(x, wbit, OPSIZE(opnd_size, wbit), 0);
4473 wbit = WBIT(opcode2);
4475 dtrace_get_operand(x, mode, r_m, wbit, 0);
4500 wbit = LONG_OPND;
4505 wbit = WBIT(opcode2);
4509 dtrace_get_operand(x, REG_ONLY, EAX_REGNO, wbit, 0);
4524 wbit = WBIT(opcode2);
4537 dtrace_get_operand(x, REG_ONLY, EAX_REGNO, wbit, 1);
4545 wbit = LONG_OPND;
4546 dtrace_disp_opnd(x, wbit, OPSIZE(opnd_size, LONG_OPND), 0);
4557 wbit = LONG_OPND;
4567 wbit = LONG_OPND;
4568 dtrace_imm_opnd(x, wbit, OPSIZE(opnd_size, LONG_OPND), 1);
4573 dtrace_imm_opnd(x, wbit, 2, 0);
4587 wbit = LONG_OPND;
4588 dtrace_imm_opnd(x, wbit, OPSIZE(opnd_size, LONG_OPND), 0);
4593 wbit = LONG_OPND;
4594 dtrace_imm_opnd(x, wbit, 1, 0);
4598 wbit = LONG_OPND;
4599 dtrace_imm_opnd(x, wbit, 2, 0);
4600 dtrace_imm_opnd(x, wbit, 1, 1);
4617 wbit = LONG_OPND;
4618 dtrace_imm_opnd(x, wbit, 2, 0);
4680 wbit = LONG_OPND;
4693 wbit = LONG_OPND;
4793 dtrace_get_operand(x, mode, r_m, wbit, 0);
4805 * one letter, which is selected based on the value of the wbit.
4806 * When wbit is one, they have the 'd' suffix and when 'wbit' is
4831 dtrace_get_operand(x, REG_ONLY, reg, wbit, 2);
4836 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 1);
4844 wbit = LONG_OPND;
4855 dtrace_get_operand(x, mode, r_m, wbit, 0);
4865 dtrace_get_operand(x, REG_ONLY, reg, wbit, 2);
4870 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 0);
4872 dtrace_get_operand(x, mode, r_m, wbit, 1);
4923 dtrace_get_operand(x, mode, r_m, wbit, 2);
4924 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 1);
4925 dtrace_get_operand(x, REG_ONLY, reg, wbit, 0);
4934 dtrace_get_operand(x, REG_ONLY, reg, wbit, 3);
4935 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 2);
4952 dtrace_get_operand(x, mode, r_m, wbit, 1);
4956 dtrace_imm_opnd(x, wbit, 1, 0);
4992 dtrace_get_operand(x, mode, r_m, wbit, 0);
5006 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5014 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5017 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5018 dtrace_get_operand(x, mode, r_m, wbit, 0);
5030 dtrace_get_operand(x, REG_ONLY, reg, wbit, 2);
5031 dtrace_get_operand(x, mode, r_m, wbit, 1);
5034 dtrace_imm_opnd(x, wbit, 1, 0);
5048 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 2);
5049 dtrace_get_operand(x, REG_ONLY, r_m, wbit, 1);
5052 dtrace_imm_opnd(x, wbit, 1, 0);
5069 dtrace_get_operand(x, mode, r_m, wbit, vbit - 1);
5072 dtrace_imm_opnd(x, wbit, 1, 0);
5082 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5083 dtrace_get_operand(x, mode, r_m, wbit, 0);
5097 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5100 dtrace_imm_opnd(x, wbit, 1, 0);
5108 dtrace_get_operand(x, mode, r_m, wbit, 1);
5109 dtrace_get_operand(x, REG_ONLY, reg, wbit, 0);
5127 dtrace_get_operand(x, mode, r_m, wbit, 1);
5129 dtrace_get_operand(x, REG_ONLY, reg, wbit, 0);
5147 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5150 dtrace_imm_opnd(x, wbit, 1, 0);
5160 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5162 dtrace_imm_opnd(x, wbit, 1, 0);
5174 dtrace_get_operand(x, REG_ONLY, reg, wbit, 1);
5176 dtrace_imm_opnd(x, wbit, 1, 0);
5185 dtrace_get_operand(x, mode, r_m, wbit, vbit);
5186 dtrace_get_operand(x, REG_ONLY, reg, wbit, vbit - 1);
5196 dtrace_get_operand(x, mode, r_m, wbit, 2);
5198 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 1);
5199 dtrace_get_operand(x, REG_ONLY, reg, wbit, 0);
5208 dtrace_get_operand(x, REG_ONLY, reg, wbit, 2);
5209 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 1);
5210 dtrace_get_operand(x, REG_ONLY, r_m, wbit, 0);
5257 dtrace_get_operand(x, REG_ONLY, (0xF - vex_v), wbit, 1);
5258 dtrace_get_operand(x, mode, r_m, wbit, 0);
5309 } else if (wbit == 0) {
5312 } else if (wbit == LONG_OPND) {
5320 } else if (wbit == SEG_OPND) {