| ... | ... | @@ -124,27 +124,27 @@ pub const table = [_]Entry{ |
| 124 | 124 | .{ .call, .d, &.{ .rel32 }, &.{ 0xe8 }, 0, .none, .none }, |
| 125 | 125 | .{ .call, .m, &.{ .rm64 }, &.{ 0xff }, 2, .none, .none }, |
| 126 | 126 | |
| 127 | | .{ .cbw, .zo, &.{ .o16 }, &.{ 0x98 }, 0, .short, .none }, |
| 128 | | .{ .cwde, .zo, &.{ .o32 }, &.{ 0x98 }, 0, .none, .none }, |
| 129 | | .{ .cdqe, .zo, &.{ .o64 }, &.{ 0x98 }, 0, .long, .none }, |
| 127 | .{ .cbw, .z, &.{ .o16 }, &.{ 0x98 }, 0, .short, .none }, |
| 128 | .{ .cwde, .z, &.{ .o32 }, &.{ 0x98 }, 0, .none, .none }, |
| 129 | .{ .cdqe, .z, &.{ .o64 }, &.{ 0x98 }, 0, .long, .none }, |
| 130 | 130 | |
| 131 | | .{ .cwd, .zo, &.{ .o16 }, &.{ 0x99 }, 0, .short, .none }, |
| 132 | | .{ .cdq, .zo, &.{ .o32 }, &.{ 0x99 }, 0, .none, .none }, |
| 133 | | .{ .cqo, .zo, &.{ .o64 }, &.{ 0x99 }, 0, .long, .none }, |
| 131 | .{ .cwd, .z, &.{ .o16 }, &.{ 0x99 }, 0, .short, .none }, |
| 132 | .{ .cdq, .z, &.{ .o32 }, &.{ 0x99 }, 0, .none, .none }, |
| 133 | .{ .cqo, .z, &.{ .o64 }, &.{ 0x99 }, 0, .long, .none }, |
| 134 | 134 | |
| 135 | | .{ .clac, .zo, &.{}, &.{ 0x0f, 0x01, 0xca }, 0, .none, .smap }, |
| 135 | .{ .clac, .z, &.{}, &.{ 0x0f, 0x01, 0xca }, 0, .none, .smap }, |
| 136 | 136 | |
| 137 | | .{ .clc, .zo, &.{}, &.{ 0xf8 }, 0, .none, .none }, |
| 137 | .{ .clc, .z, &.{}, &.{ 0xf8 }, 0, .none, .none }, |
| 138 | 138 | |
| 139 | | .{ .cld, .zo, &.{}, &.{ 0xfc }, 0, .none, .none }, |
| 139 | .{ .cld, .z, &.{}, &.{ 0xfc }, 0, .none, .none }, |
| 140 | 140 | |
| 141 | 141 | .{ .clflush, .m, &.{ .m8 }, &.{ 0x0f, 0xae }, 7, .none, .none }, |
| 142 | 142 | |
| 143 | | .{ .cli, .zo, &.{}, &.{ 0xfa }, 0, .none, .none }, |
| 143 | .{ .cli, .z, &.{}, &.{ 0xfa }, 0, .none, .none }, |
| 144 | 144 | |
| 145 | | .{ .clts, .zo, &.{}, &.{ 0x0f, 0x06 }, 0, .none, .none }, |
| 145 | .{ .clts, .z, &.{}, &.{ 0x0f, 0x06 }, 0, .none, .none }, |
| 146 | 146 | |
| 147 | | .{ .clui, .zo, &.{}, &.{ 0xf3, 0x0f, 0x01, 0xee }, 0, .none, .uintr }, |
| 147 | .{ .clui, .z, &.{}, &.{ 0xf3, 0x0f, 0x01, 0xee }, 0, .none, .uintr }, |
| 148 | 148 | |
| 149 | 149 | .{ .cmova, .rm, &.{ .r16, .rm16 }, &.{ 0x0f, 0x47 }, 0, .short, .cmov }, |
| 150 | 150 | .{ .cmova, .rm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x47 }, 0, .none, .cmov }, |
| ... | ... | @@ -260,15 +260,15 @@ pub const table = [_]Entry{ |
| 260 | 260 | .{ .cmp, .rm, &.{ .r32, .rm32 }, &.{ 0x3b }, 0, .none, .none }, |
| 261 | 261 | .{ .cmp, .rm, &.{ .r64, .rm64 }, &.{ 0x3b }, 0, .long, .none }, |
| 262 | 262 | |
| 263 | | .{ .cmps, .zo, &.{ .m8, .m8 }, &.{ 0xa6 }, 0, .none, .none }, |
| 264 | | .{ .cmps, .zo, &.{ .m16, .m16 }, &.{ 0xa7 }, 0, .short, .none }, |
| 265 | | .{ .cmps, .zo, &.{ .m32, .m32 }, &.{ 0xa7 }, 0, .none, .none }, |
| 266 | | .{ .cmps, .zo, &.{ .m64, .m64 }, &.{ 0xa7 }, 0, .long, .none }, |
| 263 | .{ .cmps, .z, &.{ .m8, .m8 }, &.{ 0xa6 }, 0, .none, .none }, |
| 264 | .{ .cmps, .z, &.{ .m16, .m16 }, &.{ 0xa7 }, 0, .short, .none }, |
| 265 | .{ .cmps, .z, &.{ .m32, .m32 }, &.{ 0xa7 }, 0, .none, .none }, |
| 266 | .{ .cmps, .z, &.{ .m64, .m64 }, &.{ 0xa7 }, 0, .long, .none }, |
| 267 | 267 | |
| 268 | | .{ .cmpsb, .zo, &.{}, &.{ 0xa6 }, 0, .none, .none }, |
| 269 | | .{ .cmpsw, .zo, &.{}, &.{ 0xa7 }, 0, .short, .none }, |
| 270 | | .{ .cmpsd, .zo, &.{}, &.{ 0xa7 }, 0, .none, .none }, |
| 271 | | .{ .cmpsq, .zo, &.{}, &.{ 0xa7 }, 0, .long, .none }, |
| 268 | .{ .cmpsb, .z, &.{}, &.{ 0xa6 }, 0, .none, .none }, |
| 269 | .{ .cmpsw, .z, &.{}, &.{ 0xa7 }, 0, .short, .none }, |
| 270 | .{ .cmpsd, .z, &.{}, &.{ 0xa7 }, 0, .none, .none }, |
| 271 | .{ .cmpsq, .z, &.{}, &.{ 0xa7 }, 0, .long, .none }, |
| 272 | 272 | |
| 273 | 273 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .none, .none }, |
| 274 | 274 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .rex, .none }, |
| ... | ... | @@ -279,7 +279,7 @@ pub const table = [_]Entry{ |
| 279 | 279 | .{ .cmpxchg8b, .m, &.{ .m64 }, &.{ 0x0f, 0xc7 }, 1, .none, .none }, |
| 280 | 280 | .{ .cmpxchg16b, .m, &.{ .m128 }, &.{ 0x0f, 0xc7 }, 1, .long, .none }, |
| 281 | 281 | |
| 282 | | .{ .cpuid, .zo, &.{}, &.{ 0x0f, 0xa2 }, 0, .none, .none }, |
| 282 | .{ .cpuid, .z, &.{}, &.{ 0x0f, 0xa2 }, 0, .none, .none }, |
| 283 | 283 | |
| 284 | 284 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .none, .none }, |
| 285 | 285 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .rex, .none }, |
| ... | ... | @@ -320,7 +320,7 @@ pub const table = [_]Entry{ |
| 320 | 320 | .{ .inc, .m, &.{ .rm32 }, &.{ 0xff }, 0, .none, .none }, |
| 321 | 321 | .{ .inc, .m, &.{ .rm64 }, &.{ 0xff }, 0, .long, .none }, |
| 322 | 322 | |
| 323 | | .{ .int3, .zo, &.{}, &.{ 0xcc }, 0, .none, .none }, |
| 323 | .{ .int3, .z, &.{}, &.{ 0xcc }, 0, .none, .none }, |
| 324 | 324 | |
| 325 | 325 | .{ .ja, .d, &.{ .rel32 }, &.{ 0x0f, 0x87 }, 0, .none, .none }, |
| 326 | 326 | .{ .jae, .d, &.{ .rel32 }, &.{ 0x0f, 0x83 }, 0, .none, .none }, |
| ... | ... | @@ -361,23 +361,23 @@ pub const table = [_]Entry{ |
| 361 | 361 | .{ .lea, .rm, &.{ .r32, .m }, &.{ 0x8d }, 0, .none, .none }, |
| 362 | 362 | .{ .lea, .rm, &.{ .r64, .m }, &.{ 0x8d }, 0, .long, .none }, |
| 363 | 363 | |
| 364 | | .{ .lfence, .zo, &.{}, &.{ 0x0f, 0xae, 0xe8 }, 0, .none, .none }, |
| 364 | .{ .lfence, .z, &.{}, &.{ 0x0f, 0xae, 0xe8 }, 0, .none, .none }, |
| 365 | 365 | |
| 366 | | .{ .lods, .zo, &.{ .m8 }, &.{ 0xac }, 0, .none, .none }, |
| 367 | | .{ .lods, .zo, &.{ .m16 }, &.{ 0xad }, 0, .short, .none }, |
| 368 | | .{ .lods, .zo, &.{ .m32 }, &.{ 0xad }, 0, .none, .none }, |
| 369 | | .{ .lods, .zo, &.{ .m64 }, &.{ 0xad }, 0, .long, .none }, |
| 366 | .{ .lods, .z, &.{ .m8 }, &.{ 0xac }, 0, .none, .none }, |
| 367 | .{ .lods, .z, &.{ .m16 }, &.{ 0xad }, 0, .short, .none }, |
| 368 | .{ .lods, .z, &.{ .m32 }, &.{ 0xad }, 0, .none, .none }, |
| 369 | .{ .lods, .z, &.{ .m64 }, &.{ 0xad }, 0, .long, .none }, |
| 370 | 370 | |
| 371 | | .{ .lodsb, .zo, &.{}, &.{ 0xac }, 0, .none, .none }, |
| 372 | | .{ .lodsw, .zo, &.{}, &.{ 0xad }, 0, .short, .none }, |
| 373 | | .{ .lodsd, .zo, &.{}, &.{ 0xad }, 0, .none, .none }, |
| 374 | | .{ .lodsq, .zo, &.{}, &.{ 0xad }, 0, .long, .none }, |
| 371 | .{ .lodsb, .z, &.{}, &.{ 0xac }, 0, .none, .none }, |
| 372 | .{ .lodsw, .z, &.{}, &.{ 0xad }, 0, .short, .none }, |
| 373 | .{ .lodsd, .z, &.{}, &.{ 0xad }, 0, .none, .none }, |
| 374 | .{ .lodsq, .z, &.{}, &.{ 0xad }, 0, .long, .none }, |
| 375 | 375 | |
| 376 | 376 | .{ .lzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .short, .lzcnt }, |
| 377 | 377 | .{ .lzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .none, .lzcnt }, |
| 378 | 378 | .{ .lzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .long, .lzcnt }, |
| 379 | 379 | |
| 380 | | .{ .mfence, .zo, &.{}, &.{ 0x0f, 0xae, 0xf0 }, 0, .none, .none }, |
| 380 | .{ .mfence, .z, &.{}, &.{ 0x0f, 0xae, 0xf0 }, 0, .none, .none }, |
| 381 | 381 | |
| 382 | 382 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none }, |
| 383 | 383 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .rex, .none }, |
| ... | ... | @@ -421,15 +421,15 @@ pub const table = [_]Entry{ |
| 421 | 421 | .{ .movbe, .mr, &.{ .m32, .r32 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .none, .movbe }, |
| 422 | 422 | .{ .movbe, .mr, &.{ .m64, .r64 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .long, .movbe }, |
| 423 | 423 | |
| 424 | | .{ .movs, .zo, &.{ .m8, .m8 }, &.{ 0xa4 }, 0, .none, .none }, |
| 425 | | .{ .movs, .zo, &.{ .m16, .m16 }, &.{ 0xa5 }, 0, .short, .none }, |
| 426 | | .{ .movs, .zo, &.{ .m32, .m32 }, &.{ 0xa5 }, 0, .none, .none }, |
| 427 | | .{ .movs, .zo, &.{ .m64, .m64 }, &.{ 0xa5 }, 0, .long, .none }, |
| 424 | .{ .movs, .z, &.{ .m8, .m8 }, &.{ 0xa4 }, 0, .none, .none }, |
| 425 | .{ .movs, .z, &.{ .m16, .m16 }, &.{ 0xa5 }, 0, .short, .none }, |
| 426 | .{ .movs, .z, &.{ .m32, .m32 }, &.{ 0xa5 }, 0, .none, .none }, |
| 427 | .{ .movs, .z, &.{ .m64, .m64 }, &.{ 0xa5 }, 0, .long, .none }, |
| 428 | 428 | |
| 429 | | .{ .movsb, .zo, &.{}, &.{ 0xa4 }, 0, .none, .none }, |
| 430 | | .{ .movsw, .zo, &.{}, &.{ 0xa5 }, 0, .short, .none }, |
| 431 | | .{ .movsd, .zo, &.{}, &.{ 0xa5 }, 0, .none, .none }, |
| 432 | | .{ .movsq, .zo, &.{}, &.{ 0xa5 }, 0, .long, .none }, |
| 429 | .{ .movsb, .z, &.{}, &.{ 0xa4 }, 0, .none, .none }, |
| 430 | .{ .movsw, .z, &.{}, &.{ 0xa5 }, 0, .short, .none }, |
| 431 | .{ .movsd, .z, &.{}, &.{ 0xa5 }, 0, .none, .none }, |
| 432 | .{ .movsq, .z, &.{}, &.{ 0xa5 }, 0, .long, .none }, |
| 433 | 433 | |
| 434 | 434 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .short, .none }, |
| 435 | 435 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .rex_short, .none }, |
| ... | ... | @@ -465,7 +465,7 @@ pub const table = [_]Entry{ |
| 465 | 465 | .{ .neg, .m, &.{ .rm32 }, &.{ 0xf7 }, 3, .none, .none }, |
| 466 | 466 | .{ .neg, .m, &.{ .rm64 }, &.{ 0xf7 }, 3, .long, .none }, |
| 467 | 467 | |
| 468 | | .{ .nop, .zo, &.{}, &.{ 0x90 }, 0, .none, .none }, |
| 468 | .{ .nop, .z, &.{}, &.{ 0x90 }, 0, .none, .none }, |
| 469 | 469 | |
| 470 | 470 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .none, .none }, |
| 471 | 471 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .rex, .none }, |
| ... | ... | @@ -496,7 +496,7 @@ pub const table = [_]Entry{ |
| 496 | 496 | .{ .@"or", .rm, &.{ .r32, .rm32 }, &.{ 0x0b }, 0, .none, .none }, |
| 497 | 497 | .{ .@"or", .rm, &.{ .r64, .rm64 }, &.{ 0x0b }, 0, .long, .none }, |
| 498 | 498 | |
| 499 | | .{ .pause, .zo, &.{}, &.{ 0xf3, 0x90 }, 0, .none, .none }, |
| 499 | .{ .pause, .z, &.{}, &.{ 0xf3, 0x90 }, 0, .none, .none }, |
| 500 | 500 | |
| 501 | 501 | .{ .pop, .o, &.{ .r16 }, &.{ 0x58 }, 0, .short, .none }, |
| 502 | 502 | .{ .pop, .o, &.{ .r64 }, &.{ 0x58 }, 0, .none, .none }, |
| ... | ... | @@ -507,7 +507,7 @@ pub const table = [_]Entry{ |
| 507 | 507 | .{ .popcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .none, .popcnt }, |
| 508 | 508 | .{ .popcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .long, .popcnt }, |
| 509 | 509 | |
| 510 | | .{ .popfq, .zo, &.{}, &.{ 0x9d }, 0, .none, .none }, |
| 510 | .{ .popfq, .z, &.{}, &.{ 0x9d }, 0, .none, .none }, |
| 511 | 511 | |
| 512 | 512 | .{ .push, .o, &.{ .r16 }, &.{ 0x50 }, 0, .short, .none }, |
| 513 | 513 | .{ .push, .o, &.{ .r64 }, &.{ 0x50 }, 0, .none, .none }, |
| ... | ... | @@ -517,9 +517,9 @@ pub const table = [_]Entry{ |
| 517 | 517 | .{ .push, .i, &.{ .imm16 }, &.{ 0x68 }, 0, .short, .none }, |
| 518 | 518 | .{ .push, .i, &.{ .imm32 }, &.{ 0x68 }, 0, .none, .none }, |
| 519 | 519 | |
| 520 | | .{ .pushfq, .zo, &.{}, &.{ 0x9c }, 0, .none, .none }, |
| 520 | .{ .pushfq, .z, &.{}, &.{ 0x9c }, 0, .none, .none }, |
| 521 | 521 | |
| 522 | | .{ .ret, .zo, &.{}, &.{ 0xc3 }, 0, .none, .none }, |
| 522 | .{ .ret, .z, &.{}, &.{ 0xc3 }, 0, .none, .none }, |
| 523 | 523 | |
| 524 | 524 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .none, .none }, |
| 525 | 525 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .rex, .none }, |
| ... | ... | @@ -640,15 +640,15 @@ pub const table = [_]Entry{ |
| 640 | 640 | .{ .sbb, .rm, &.{ .r32, .rm32 }, &.{ 0x1b }, 0, .none, .none }, |
| 641 | 641 | .{ .sbb, .rm, &.{ .r64, .rm64 }, &.{ 0x1b }, 0, .long, .none }, |
| 642 | 642 | |
| 643 | | .{ .scas, .zo, &.{ .m8 }, &.{ 0xae }, 0, .none, .none }, |
| 644 | | .{ .scas, .zo, &.{ .m16 }, &.{ 0xaf }, 0, .short, .none }, |
| 645 | | .{ .scas, .zo, &.{ .m32 }, &.{ 0xaf }, 0, .none, .none }, |
| 646 | | .{ .scas, .zo, &.{ .m64 }, &.{ 0xaf }, 0, .long, .none }, |
| 643 | .{ .scas, .z, &.{ .m8 }, &.{ 0xae }, 0, .none, .none }, |
| 644 | .{ .scas, .z, &.{ .m16 }, &.{ 0xaf }, 0, .short, .none }, |
| 645 | .{ .scas, .z, &.{ .m32 }, &.{ 0xaf }, 0, .none, .none }, |
| 646 | .{ .scas, .z, &.{ .m64 }, &.{ 0xaf }, 0, .long, .none }, |
| 647 | 647 | |
| 648 | | .{ .scasb, .zo, &.{}, &.{ 0xae }, 0, .none, .none }, |
| 649 | | .{ .scasw, .zo, &.{}, &.{ 0xaf }, 0, .short, .none }, |
| 650 | | .{ .scasd, .zo, &.{}, &.{ 0xaf }, 0, .none, .none }, |
| 651 | | .{ .scasq, .zo, &.{}, &.{ 0xaf }, 0, .long, .none }, |
| 648 | .{ .scasb, .z, &.{}, &.{ 0xae }, 0, .none, .none }, |
| 649 | .{ .scasw, .z, &.{}, &.{ 0xaf }, 0, .short, .none }, |
| 650 | .{ .scasd, .z, &.{}, &.{ 0xaf }, 0, .none, .none }, |
| 651 | .{ .scasq, .z, &.{}, &.{ 0xaf }, 0, .long, .none }, |
| 652 | 652 | |
| 653 | 653 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .none, .none }, |
| 654 | 654 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .rex, .none }, |
| ... | ... | @@ -711,7 +711,7 @@ pub const table = [_]Entry{ |
| 711 | 711 | .{ .setz, .m, &.{ .rm8 }, &.{ 0x0f, 0x94 }, 0, .none, .none }, |
| 712 | 712 | .{ .setz, .m, &.{ .rm8 }, &.{ 0x0f, 0x94 }, 0, .rex, .none }, |
| 713 | 713 | |
| 714 | | .{ .sfence, .zo, &.{}, &.{ 0x0f, 0xae, 0xf8 }, 0, .none, .none }, |
| 714 | .{ .sfence, .z, &.{}, &.{ 0x0f, 0xae, 0xf8 }, 0, .none, .none }, |
| 715 | 715 | |
| 716 | 716 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .none, .none }, |
| 717 | 717 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .rex, .none }, |
| ... | ... | @@ -759,25 +759,25 @@ pub const table = [_]Entry{ |
| 759 | 759 | .{ .shrd, .mrc, &.{ .rm32, .r32, .cl }, &.{ 0x0f, 0xad }, 0, .none, .none }, |
| 760 | 760 | .{ .shrd, .mrc, &.{ .rm64, .r64, .cl }, &.{ 0x0f, 0xad }, 0, .long, .none }, |
| 761 | 761 | |
| 762 | | .{ .stac, .zo, &.{}, &.{ 0x0f, 0x01, 0xcb }, 0, .none, .smap }, |
| 762 | .{ .stac, .z, &.{}, &.{ 0x0f, 0x01, 0xcb }, 0, .none, .smap }, |
| 763 | 763 | |
| 764 | | .{ .stc, .zo, &.{}, &.{ 0xf9 }, 0, .none, .none }, |
| 764 | .{ .stc, .z, &.{}, &.{ 0xf9 }, 0, .none, .none }, |
| 765 | 765 | |
| 766 | | .{ .std, .zo, &.{}, &.{ 0xfd }, 0, .none, .none }, |
| 766 | .{ .std, .z, &.{}, &.{ 0xfd }, 0, .none, .none }, |
| 767 | 767 | |
| 768 | | .{ .sti, .zo, &.{}, &.{ 0xfb }, 0, .none, .none }, |
| 768 | .{ .sti, .z, &.{}, &.{ 0xfb }, 0, .none, .none }, |
| 769 | 769 | |
| 770 | | .{ .stui, .zo, &.{}, &.{ 0xf3, 0x0f, 0x01, 0xef }, 0, .none, .uintr }, |
| 770 | .{ .stui, .z, &.{}, &.{ 0xf3, 0x0f, 0x01, 0xef }, 0, .none, .uintr }, |
| 771 | 771 | |
| 772 | | .{ .stos, .zo, &.{ .m8 }, &.{ 0xaa }, 0, .none, .none }, |
| 773 | | .{ .stos, .zo, &.{ .m16 }, &.{ 0xab }, 0, .short, .none }, |
| 774 | | .{ .stos, .zo, &.{ .m32 }, &.{ 0xab }, 0, .none, .none }, |
| 775 | | .{ .stos, .zo, &.{ .m64 }, &.{ 0xab }, 0, .long, .none }, |
| 772 | .{ .stos, .z, &.{ .m8 }, &.{ 0xaa }, 0, .none, .none }, |
| 773 | .{ .stos, .z, &.{ .m16 }, &.{ 0xab }, 0, .short, .none }, |
| 774 | .{ .stos, .z, &.{ .m32 }, &.{ 0xab }, 0, .none, .none }, |
| 775 | .{ .stos, .z, &.{ .m64 }, &.{ 0xab }, 0, .long, .none }, |
| 776 | 776 | |
| 777 | | .{ .stosb, .zo, &.{}, &.{ 0xaa }, 0, .none, .none }, |
| 778 | | .{ .stosw, .zo, &.{}, &.{ 0xab }, 0, .short, .none }, |
| 779 | | .{ .stosd, .zo, &.{}, &.{ 0xab }, 0, .none, .none }, |
| 780 | | .{ .stosq, .zo, &.{}, &.{ 0xab }, 0, .long, .none }, |
| 777 | .{ .stosb, .z, &.{}, &.{ 0xaa }, 0, .none, .none }, |
| 778 | .{ .stosw, .z, &.{}, &.{ 0xab }, 0, .short, .none }, |
| 779 | .{ .stosd, .z, &.{}, &.{ 0xab }, 0, .none, .none }, |
| 780 | .{ .stosq, .z, &.{}, &.{ 0xab }, 0, .long, .none }, |
| 781 | 781 | |
| 782 | 782 | .{ .sub, .zi, &.{ .al, .imm8 }, &.{ 0x2c }, 0, .none, .none }, |
| 783 | 783 | .{ .sub, .zi, &.{ .ax, .imm16 }, &.{ 0x2d }, 0, .short, .none }, |
| ... | ... | @@ -802,7 +802,7 @@ pub const table = [_]Entry{ |
| 802 | 802 | .{ .sub, .rm, &.{ .r32, .rm32 }, &.{ 0x2b }, 0, .none, .none }, |
| 803 | 803 | .{ .sub, .rm, &.{ .r64, .rm64 }, &.{ 0x2b }, 0, .long, .none }, |
| 804 | 804 | |
| 805 | | .{ .syscall, .zo, &.{}, &.{ 0x0f, 0x05 }, 0, .none, .none }, |
| 805 | .{ .syscall, .z, &.{}, &.{ 0x0f, 0x05 }, 0, .none, .none }, |
| 806 | 806 | |
| 807 | 807 | .{ .@"test", .zi, &.{ .al, .imm8 }, &.{ 0xa8 }, 0, .none, .none }, |
| 808 | 808 | .{ .@"test", .zi, &.{ .ax, .imm16 }, &.{ 0xa9 }, 0, .short, .none }, |
| ... | ... | @@ -823,7 +823,7 @@ pub const table = [_]Entry{ |
| 823 | 823 | .{ .tzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .none, .bmi }, |
| 824 | 824 | .{ .tzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .long, .bmi }, |
| 825 | 825 | |
| 826 | | .{ .ud2, .zo, &.{}, &.{ 0x0f, 0x0b }, 0, .none, .none }, |
| 826 | .{ .ud2, .z, &.{}, &.{ 0x0f, 0x0b }, 0, .none, .none }, |
| 827 | 827 | |
| 828 | 828 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .none, .none }, |
| 829 | 829 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .rex, .none }, |
| ... | ... | @@ -831,12 +831,12 @@ pub const table = [_]Entry{ |
| 831 | 831 | .{ .xadd, .mr, &.{ .rm32, .r32 }, &.{ 0x0f, 0xc1 }, 0, .none, .none }, |
| 832 | 832 | .{ .xadd, .mr, &.{ .rm64, .r64 }, &.{ 0x0f, 0xc1 }, 0, .long, .none }, |
| 833 | 833 | |
| 834 | | .{ .xchg, .o, &.{ .ax, .r16 }, &.{ 0x90 }, 0, .short, .none }, |
| 835 | | .{ .xchg, .o, &.{ .r16, .ax }, &.{ 0x90 }, 0, .short, .none }, |
| 836 | | .{ .xchg, .o, &.{ .eax, .r32 }, &.{ 0x90 }, 0, .none, .none }, |
| 837 | | .{ .xchg, .o, &.{ .rax, .r64 }, &.{ 0x90 }, 0, .long, .none }, |
| 838 | | .{ .xchg, .o, &.{ .r32, .eax }, &.{ 0x90 }, 0, .none, .none }, |
| 839 | | .{ .xchg, .o, &.{ .r64, .rax }, &.{ 0x90 }, 0, .long, .none }, |
| 834 | .{ .xchg, .zo, &.{ .ax, .r16 }, &.{ 0x90 }, 0, .short, .none }, |
| 835 | .{ .xchg, .oz, &.{ .r16, .ax }, &.{ 0x90 }, 0, .short, .none }, |
| 836 | .{ .xchg, .zo, &.{ .eax, .r32 }, &.{ 0x90 }, 0, .none, .none }, |
| 837 | .{ .xchg, .zo, &.{ .rax, .r64 }, &.{ 0x90 }, 0, .long, .none }, |
| 838 | .{ .xchg, .oz, &.{ .r32, .eax }, &.{ 0x90 }, 0, .none, .none }, |
| 839 | .{ .xchg, .oz, &.{ .r64, .rax }, &.{ 0x90 }, 0, .long, .none }, |
| 840 | 840 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .none, .none }, |
| 841 | 841 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .rex, .none }, |
| 842 | 842 | .{ .xchg, .rm, &.{ .r8, .rm8 }, &.{ 0x86 }, 0, .none, .none }, |
| ... | ... | @@ -848,7 +848,7 @@ pub const table = [_]Entry{ |
| 848 | 848 | .{ .xchg, .rm, &.{ .r32, .rm32 }, &.{ 0x87 }, 0, .none, .none }, |
| 849 | 849 | .{ .xchg, .rm, &.{ .r64, .rm64 }, &.{ 0x87 }, 0, .long, .none }, |
| 850 | 850 | |
| 851 | | .{ .xgetbv, .zo, &.{}, &.{ 0x0f, 0x01, 0xd0 }, 0, .none, .none }, |
| 851 | .{ .xgetbv, .z, &.{}, &.{ 0x0f, 0x01, 0xd0 }, 0, .none, .none }, |
| 852 | 852 | |
| 853 | 853 | .{ .xor, .zi, &.{ .al, .imm8 }, &.{ 0x34 }, 0, .none, .none }, |
| 854 | 854 | .{ .xor, .zi, &.{ .ax, .imm16 }, &.{ 0x35 }, 0, .short, .none }, |
| ... | ... | @@ -874,9 +874,9 @@ pub const table = [_]Entry{ |
| 874 | 874 | .{ .xor, .rm, &.{ .r64, .rm64 }, &.{ 0x33 }, 0, .long, .none }, |
| 875 | 875 | |
| 876 | 876 | // X87 |
| 877 | | .{ .fabs, .zo, &.{}, &.{ 0xd9, 0xe1 }, 0, .none, .x87 }, |
| 877 | .{ .fabs, .z, &.{}, &.{ 0xd9, 0xe1 }, 0, .none, .x87 }, |
| 878 | 878 | |
| 879 | | .{ .fchs, .zo, &.{}, &.{ 0xd9, 0xe0 }, 0, .none, .x87 }, |
| 879 | .{ .fchs, .z, &.{}, &.{ 0xd9, 0xe0 }, 0, .none, .x87 }, |
| 880 | 880 | |
| 881 | 881 | .{ .ffree, .o, &.{ .st }, &.{ 0xdd, 0xc0 }, 0, .none, .x87 }, |
| 882 | 882 | |