| ... | @@ -124,27 +124,27 @@ pub const table = [_]Entry{ | ... | @@ -124,27 +124,27 @@ pub const table = [_]Entry{ |
| 124 | .{ .call, .d, &.{ .rel32 }, &.{ 0xe8 }, 0, .none, .none }, | 124 | .{ .call, .d, &.{ .rel32 }, &.{ 0xe8 }, 0, .none, .none }, |
| 125 | .{ .call, .m, &.{ .rm64 }, &.{ 0xff }, 2, .none, .none }, | 125 | .{ .call, .m, &.{ .rm64 }, &.{ 0xff }, 2, .none, .none }, |
| 126 | | 126 | |
| 127 | .{ .cbw, .zo, &.{ .o16 }, &.{ 0x98 }, 0, .short, .none }, | 127 | .{ .cbw, .z, &.{ .o16 }, &.{ 0x98 }, 0, .short, .none }, |
| 128 | .{ .cwde, .zo, &.{ .o32 }, &.{ 0x98 }, 0, .none, .none }, | 128 | .{ .cwde, .z, &.{ .o32 }, &.{ 0x98 }, 0, .none, .none }, |
| 129 | .{ .cdqe, .zo, &.{ .o64 }, &.{ 0x98 }, 0, .long, .none }, | 129 | .{ .cdqe, .z, &.{ .o64 }, &.{ 0x98 }, 0, .long, .none }, |
| 130 | | 130 | |
| 131 | .{ .cwd, .zo, &.{ .o16 }, &.{ 0x99 }, 0, .short, .none }, | 131 | .{ .cwd, .z, &.{ .o16 }, &.{ 0x99 }, 0, .short, .none }, |
| 132 | .{ .cdq, .zo, &.{ .o32 }, &.{ 0x99 }, 0, .none, .none }, | 132 | .{ .cdq, .z, &.{ .o32 }, &.{ 0x99 }, 0, .none, .none }, |
| 133 | .{ .cqo, .zo, &.{ .o64 }, &.{ 0x99 }, 0, .long, .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 | .{ .clflush, .m, &.{ .m8 }, &.{ 0x0f, 0xae }, 7, .none, .none }, | 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 | .{ .cmova, .rm, &.{ .r16, .rm16 }, &.{ 0x0f, 0x47 }, 0, .short, .cmov }, | 149 | .{ .cmova, .rm, &.{ .r16, .rm16 }, &.{ 0x0f, 0x47 }, 0, .short, .cmov }, |
| 150 | .{ .cmova, .rm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x47 }, 0, .none, .cmov }, | 150 | .{ .cmova, .rm, &.{ .r32, .rm32 }, &.{ 0x0f, 0x47 }, 0, .none, .cmov }, |
| ... | @@ -260,15 +260,15 @@ pub const table = [_]Entry{ | ... | @@ -260,15 +260,15 @@ pub const table = [_]Entry{ |
| 260 | .{ .cmp, .rm, &.{ .r32, .rm32 }, &.{ 0x3b }, 0, .none, .none }, | 260 | .{ .cmp, .rm, &.{ .r32, .rm32 }, &.{ 0x3b }, 0, .none, .none }, |
| 261 | .{ .cmp, .rm, &.{ .r64, .rm64 }, &.{ 0x3b }, 0, .long, .none }, | 261 | .{ .cmp, .rm, &.{ .r64, .rm64 }, &.{ 0x3b }, 0, .long, .none }, |
| 262 | | 262 | |
| 263 | .{ .cmps, .zo, &.{ .m8, .m8 }, &.{ 0xa6 }, 0, .none, .none }, | 263 | .{ .cmps, .z, &.{ .m8, .m8 }, &.{ 0xa6 }, 0, .none, .none }, |
| 264 | .{ .cmps, .zo, &.{ .m16, .m16 }, &.{ 0xa7 }, 0, .short, .none }, | 264 | .{ .cmps, .z, &.{ .m16, .m16 }, &.{ 0xa7 }, 0, .short, .none }, |
| 265 | .{ .cmps, .zo, &.{ .m32, .m32 }, &.{ 0xa7 }, 0, .none, .none }, | 265 | .{ .cmps, .z, &.{ .m32, .m32 }, &.{ 0xa7 }, 0, .none, .none }, |
| 266 | .{ .cmps, .zo, &.{ .m64, .m64 }, &.{ 0xa7 }, 0, .long, .none }, | 266 | .{ .cmps, .z, &.{ .m64, .m64 }, &.{ 0xa7 }, 0, .long, .none }, |
| 267 | | 267 | |
| 268 | .{ .cmpsb, .zo, &.{}, &.{ 0xa6 }, 0, .none, .none }, | 268 | .{ .cmpsb, .z, &.{}, &.{ 0xa6 }, 0, .none, .none }, |
| 269 | .{ .cmpsw, .zo, &.{}, &.{ 0xa7 }, 0, .short, .none }, | 269 | .{ .cmpsw, .z, &.{}, &.{ 0xa7 }, 0, .short, .none }, |
| 270 | .{ .cmpsd, .zo, &.{}, &.{ 0xa7 }, 0, .none, .none }, | 270 | .{ .cmpsd, .z, &.{}, &.{ 0xa7 }, 0, .none, .none }, |
| 271 | .{ .cmpsq, .zo, &.{}, &.{ 0xa7 }, 0, .long, .none }, | 271 | .{ .cmpsq, .z, &.{}, &.{ 0xa7 }, 0, .long, .none }, |
| 272 | | 272 | |
| 273 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .none, .none }, | 273 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .none, .none }, |
| 274 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .rex, .none }, | 274 | .{ .cmpxchg, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xb0 }, 0, .rex, .none }, |
| ... | @@ -279,7 +279,7 @@ pub const table = [_]Entry{ | ... | @@ -279,7 +279,7 @@ pub const table = [_]Entry{ |
| 279 | .{ .cmpxchg8b, .m, &.{ .m64 }, &.{ 0x0f, 0xc7 }, 1, .none, .none }, | 279 | .{ .cmpxchg8b, .m, &.{ .m64 }, &.{ 0x0f, 0xc7 }, 1, .none, .none }, |
| 280 | .{ .cmpxchg16b, .m, &.{ .m128 }, &.{ 0x0f, 0xc7 }, 1, .long, .none }, | 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 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .none, .none }, | 284 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .none, .none }, |
| 285 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .rex, .none }, | 285 | .{ .dec, .m, &.{ .rm8 }, &.{ 0xfe }, 1, .rex, .none }, |
| ... | @@ -320,7 +320,7 @@ pub const table = [_]Entry{ | ... | @@ -320,7 +320,7 @@ pub const table = [_]Entry{ |
| 320 | .{ .inc, .m, &.{ .rm32 }, &.{ 0xff }, 0, .none, .none }, | 320 | .{ .inc, .m, &.{ .rm32 }, &.{ 0xff }, 0, .none, .none }, |
| 321 | .{ .inc, .m, &.{ .rm64 }, &.{ 0xff }, 0, .long, .none }, | 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 | .{ .ja, .d, &.{ .rel32 }, &.{ 0x0f, 0x87 }, 0, .none, .none }, | 325 | .{ .ja, .d, &.{ .rel32 }, &.{ 0x0f, 0x87 }, 0, .none, .none }, |
| 326 | .{ .jae, .d, &.{ .rel32 }, &.{ 0x0f, 0x83 }, 0, .none, .none }, | 326 | .{ .jae, .d, &.{ .rel32 }, &.{ 0x0f, 0x83 }, 0, .none, .none }, |
| ... | @@ -361,23 +361,23 @@ pub const table = [_]Entry{ | ... | @@ -361,23 +361,23 @@ pub const table = [_]Entry{ |
| 361 | .{ .lea, .rm, &.{ .r32, .m }, &.{ 0x8d }, 0, .none, .none }, | 361 | .{ .lea, .rm, &.{ .r32, .m }, &.{ 0x8d }, 0, .none, .none }, |
| 362 | .{ .lea, .rm, &.{ .r64, .m }, &.{ 0x8d }, 0, .long, .none }, | 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 }, | 366 | .{ .lods, .z, &.{ .m8 }, &.{ 0xac }, 0, .none, .none }, |
| 367 | .{ .lods, .zo, &.{ .m16 }, &.{ 0xad }, 0, .short, .none }, | 367 | .{ .lods, .z, &.{ .m16 }, &.{ 0xad }, 0, .short, .none }, |
| 368 | .{ .lods, .zo, &.{ .m32 }, &.{ 0xad }, 0, .none, .none }, | 368 | .{ .lods, .z, &.{ .m32 }, &.{ 0xad }, 0, .none, .none }, |
| 369 | .{ .lods, .zo, &.{ .m64 }, &.{ 0xad }, 0, .long, .none }, | 369 | .{ .lods, .z, &.{ .m64 }, &.{ 0xad }, 0, .long, .none }, |
| 370 | | 370 | |
| 371 | .{ .lodsb, .zo, &.{}, &.{ 0xac }, 0, .none, .none }, | 371 | .{ .lodsb, .z, &.{}, &.{ 0xac }, 0, .none, .none }, |
| 372 | .{ .lodsw, .zo, &.{}, &.{ 0xad }, 0, .short, .none }, | 372 | .{ .lodsw, .z, &.{}, &.{ 0xad }, 0, .short, .none }, |
| 373 | .{ .lodsd, .zo, &.{}, &.{ 0xad }, 0, .none, .none }, | 373 | .{ .lodsd, .z, &.{}, &.{ 0xad }, 0, .none, .none }, |
| 374 | .{ .lodsq, .zo, &.{}, &.{ 0xad }, 0, .long, .none }, | 374 | .{ .lodsq, .z, &.{}, &.{ 0xad }, 0, .long, .none }, |
| 375 | | 375 | |
| 376 | .{ .lzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .short, .lzcnt }, | 376 | .{ .lzcnt, .rm, &.{ .r16, .rm16 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .short, .lzcnt }, |
| 377 | .{ .lzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .none, .lzcnt }, | 377 | .{ .lzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .none, .lzcnt }, |
| 378 | .{ .lzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbd }, 0, .long, .lzcnt }, | 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 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none }, | 382 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .none, .none }, |
| 383 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .rex, .none }, | 383 | .{ .mov, .mr, &.{ .rm8, .r8 }, &.{ 0x88 }, 0, .rex, .none }, |
| ... | @@ -421,15 +421,15 @@ pub const table = [_]Entry{ | ... | @@ -421,15 +421,15 @@ pub const table = [_]Entry{ |
| 421 | .{ .movbe, .mr, &.{ .m32, .r32 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .none, .movbe }, | 421 | .{ .movbe, .mr, &.{ .m32, .r32 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .none, .movbe }, |
| 422 | .{ .movbe, .mr, &.{ .m64, .r64 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .long, .movbe }, | 422 | .{ .movbe, .mr, &.{ .m64, .r64 }, &.{ 0x0f, 0x38, 0xf1 }, 0, .long, .movbe }, |
| 423 | | 423 | |
| 424 | .{ .movs, .zo, &.{ .m8, .m8 }, &.{ 0xa4 }, 0, .none, .none }, | 424 | .{ .movs, .z, &.{ .m8, .m8 }, &.{ 0xa4 }, 0, .none, .none }, |
| 425 | .{ .movs, .zo, &.{ .m16, .m16 }, &.{ 0xa5 }, 0, .short, .none }, | 425 | .{ .movs, .z, &.{ .m16, .m16 }, &.{ 0xa5 }, 0, .short, .none }, |
| 426 | .{ .movs, .zo, &.{ .m32, .m32 }, &.{ 0xa5 }, 0, .none, .none }, | 426 | .{ .movs, .z, &.{ .m32, .m32 }, &.{ 0xa5 }, 0, .none, .none }, |
| 427 | .{ .movs, .zo, &.{ .m64, .m64 }, &.{ 0xa5 }, 0, .long, .none }, | 427 | .{ .movs, .z, &.{ .m64, .m64 }, &.{ 0xa5 }, 0, .long, .none }, |
| 428 | | 428 | |
| 429 | .{ .movsb, .zo, &.{}, &.{ 0xa4 }, 0, .none, .none }, | 429 | .{ .movsb, .z, &.{}, &.{ 0xa4 }, 0, .none, .none }, |
| 430 | .{ .movsw, .zo, &.{}, &.{ 0xa5 }, 0, .short, .none }, | 430 | .{ .movsw, .z, &.{}, &.{ 0xa5 }, 0, .short, .none }, |
| 431 | .{ .movsd, .zo, &.{}, &.{ 0xa5 }, 0, .none, .none }, | 431 | .{ .movsd, .z, &.{}, &.{ 0xa5 }, 0, .none, .none }, |
| 432 | .{ .movsq, .zo, &.{}, &.{ 0xa5 }, 0, .long, .none }, | 432 | .{ .movsq, .z, &.{}, &.{ 0xa5 }, 0, .long, .none }, |
| 433 | | 433 | |
| 434 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .short, .none }, | 434 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .short, .none }, |
| 435 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .rex_short, .none }, | 435 | .{ .movsx, .rm, &.{ .r16, .rm8 }, &.{ 0x0f, 0xbe }, 0, .rex_short, .none }, |
| ... | @@ -465,7 +465,7 @@ pub const table = [_]Entry{ | ... | @@ -465,7 +465,7 @@ pub const table = [_]Entry{ |
| 465 | .{ .neg, .m, &.{ .rm32 }, &.{ 0xf7 }, 3, .none, .none }, | 465 | .{ .neg, .m, &.{ .rm32 }, &.{ 0xf7 }, 3, .none, .none }, |
| 466 | .{ .neg, .m, &.{ .rm64 }, &.{ 0xf7 }, 3, .long, .none }, | 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 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .none, .none }, | 470 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .none, .none }, |
| 471 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .rex, .none }, | 471 | .{ .not, .m, &.{ .rm8 }, &.{ 0xf6 }, 2, .rex, .none }, |
| ... | @@ -496,7 +496,7 @@ pub const table = [_]Entry{ | ... | @@ -496,7 +496,7 @@ pub const table = [_]Entry{ |
| 496 | .{ .@"or", .rm, &.{ .r32, .rm32 }, &.{ 0x0b }, 0, .none, .none }, | 496 | .{ .@"or", .rm, &.{ .r32, .rm32 }, &.{ 0x0b }, 0, .none, .none }, |
| 497 | .{ .@"or", .rm, &.{ .r64, .rm64 }, &.{ 0x0b }, 0, .long, .none }, | 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 | .{ .pop, .o, &.{ .r16 }, &.{ 0x58 }, 0, .short, .none }, | 501 | .{ .pop, .o, &.{ .r16 }, &.{ 0x58 }, 0, .short, .none }, |
| 502 | .{ .pop, .o, &.{ .r64 }, &.{ 0x58 }, 0, .none, .none }, | 502 | .{ .pop, .o, &.{ .r64 }, &.{ 0x58 }, 0, .none, .none }, |
| ... | @@ -507,7 +507,7 @@ pub const table = [_]Entry{ | ... | @@ -507,7 +507,7 @@ pub const table = [_]Entry{ |
| 507 | .{ .popcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .none, .popcnt }, | 507 | .{ .popcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .none, .popcnt }, |
| 508 | .{ .popcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xb8 }, 0, .long, .popcnt }, | 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 | .{ .push, .o, &.{ .r16 }, &.{ 0x50 }, 0, .short, .none }, | 512 | .{ .push, .o, &.{ .r16 }, &.{ 0x50 }, 0, .short, .none }, |
| 513 | .{ .push, .o, &.{ .r64 }, &.{ 0x50 }, 0, .none, .none }, | 513 | .{ .push, .o, &.{ .r64 }, &.{ 0x50 }, 0, .none, .none }, |
| ... | @@ -517,9 +517,9 @@ pub const table = [_]Entry{ | ... | @@ -517,9 +517,9 @@ pub const table = [_]Entry{ |
| 517 | .{ .push, .i, &.{ .imm16 }, &.{ 0x68 }, 0, .short, .none }, | 517 | .{ .push, .i, &.{ .imm16 }, &.{ 0x68 }, 0, .short, .none }, |
| 518 | .{ .push, .i, &.{ .imm32 }, &.{ 0x68 }, 0, .none, .none }, | 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 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .none, .none }, | 524 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .none, .none }, |
| 525 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .rex, .none }, | 525 | .{ .rcl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 2, .rex, .none }, |
| ... | @@ -640,15 +640,15 @@ pub const table = [_]Entry{ | ... | @@ -640,15 +640,15 @@ pub const table = [_]Entry{ |
| 640 | .{ .sbb, .rm, &.{ .r32, .rm32 }, &.{ 0x1b }, 0, .none, .none }, | 640 | .{ .sbb, .rm, &.{ .r32, .rm32 }, &.{ 0x1b }, 0, .none, .none }, |
| 641 | .{ .sbb, .rm, &.{ .r64, .rm64 }, &.{ 0x1b }, 0, .long, .none }, | 641 | .{ .sbb, .rm, &.{ .r64, .rm64 }, &.{ 0x1b }, 0, .long, .none }, |
| 642 | | 642 | |
| 643 | .{ .scas, .zo, &.{ .m8 }, &.{ 0xae }, 0, .none, .none }, | 643 | .{ .scas, .z, &.{ .m8 }, &.{ 0xae }, 0, .none, .none }, |
| 644 | .{ .scas, .zo, &.{ .m16 }, &.{ 0xaf }, 0, .short, .none }, | 644 | .{ .scas, .z, &.{ .m16 }, &.{ 0xaf }, 0, .short, .none }, |
| 645 | .{ .scas, .zo, &.{ .m32 }, &.{ 0xaf }, 0, .none, .none }, | 645 | .{ .scas, .z, &.{ .m32 }, &.{ 0xaf }, 0, .none, .none }, |
| 646 | .{ .scas, .zo, &.{ .m64 }, &.{ 0xaf }, 0, .long, .none }, | 646 | .{ .scas, .z, &.{ .m64 }, &.{ 0xaf }, 0, .long, .none }, |
| 647 | | 647 | |
| 648 | .{ .scasb, .zo, &.{}, &.{ 0xae }, 0, .none, .none }, | 648 | .{ .scasb, .z, &.{}, &.{ 0xae }, 0, .none, .none }, |
| 649 | .{ .scasw, .zo, &.{}, &.{ 0xaf }, 0, .short, .none }, | 649 | .{ .scasw, .z, &.{}, &.{ 0xaf }, 0, .short, .none }, |
| 650 | .{ .scasd, .zo, &.{}, &.{ 0xaf }, 0, .none, .none }, | 650 | .{ .scasd, .z, &.{}, &.{ 0xaf }, 0, .none, .none }, |
| 651 | .{ .scasq, .zo, &.{}, &.{ 0xaf }, 0, .long, .none }, | 651 | .{ .scasq, .z, &.{}, &.{ 0xaf }, 0, .long, .none }, |
| 652 | | 652 | |
| 653 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .none, .none }, | 653 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .none, .none }, |
| 654 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .rex, .none }, | 654 | .{ .seta, .m, &.{ .rm8 }, &.{ 0x0f, 0x97 }, 0, .rex, .none }, |
| ... | @@ -711,7 +711,7 @@ pub const table = [_]Entry{ | ... | @@ -711,7 +711,7 @@ pub const table = [_]Entry{ |
| 711 | .{ .setz, .m, &.{ .rm8 }, &.{ 0x0f, 0x94 }, 0, .none, .none }, | 711 | .{ .setz, .m, &.{ .rm8 }, &.{ 0x0f, 0x94 }, 0, .none, .none }, |
| 712 | .{ .setz, .m, &.{ .rm8 }, &.{ 0x0f, 0x94 }, 0, .rex, .none }, | 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 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .none, .none }, | 716 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .none, .none }, |
| 717 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .rex, .none }, | 717 | .{ .shl, .m1, &.{ .rm8, .unity }, &.{ 0xd0 }, 4, .rex, .none }, |
| ... | @@ -759,25 +759,25 @@ pub const table = [_]Entry{ | ... | @@ -759,25 +759,25 @@ pub const table = [_]Entry{ |
| 759 | .{ .shrd, .mrc, &.{ .rm32, .r32, .cl }, &.{ 0x0f, 0xad }, 0, .none, .none }, | 759 | .{ .shrd, .mrc, &.{ .rm32, .r32, .cl }, &.{ 0x0f, 0xad }, 0, .none, .none }, |
| 760 | .{ .shrd, .mrc, &.{ .rm64, .r64, .cl }, &.{ 0x0f, 0xad }, 0, .long, .none }, | 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 }, | 772 | .{ .stos, .z, &.{ .m8 }, &.{ 0xaa }, 0, .none, .none }, |
| 773 | .{ .stos, .zo, &.{ .m16 }, &.{ 0xab }, 0, .short, .none }, | 773 | .{ .stos, .z, &.{ .m16 }, &.{ 0xab }, 0, .short, .none }, |
| 774 | .{ .stos, .zo, &.{ .m32 }, &.{ 0xab }, 0, .none, .none }, | 774 | .{ .stos, .z, &.{ .m32 }, &.{ 0xab }, 0, .none, .none }, |
| 775 | .{ .stos, .zo, &.{ .m64 }, &.{ 0xab }, 0, .long, .none }, | 775 | .{ .stos, .z, &.{ .m64 }, &.{ 0xab }, 0, .long, .none }, |
| 776 | | 776 | |
| 777 | .{ .stosb, .zo, &.{}, &.{ 0xaa }, 0, .none, .none }, | 777 | .{ .stosb, .z, &.{}, &.{ 0xaa }, 0, .none, .none }, |
| 778 | .{ .stosw, .zo, &.{}, &.{ 0xab }, 0, .short, .none }, | 778 | .{ .stosw, .z, &.{}, &.{ 0xab }, 0, .short, .none }, |
| 779 | .{ .stosd, .zo, &.{}, &.{ 0xab }, 0, .none, .none }, | 779 | .{ .stosd, .z, &.{}, &.{ 0xab }, 0, .none, .none }, |
| 780 | .{ .stosq, .zo, &.{}, &.{ 0xab }, 0, .long, .none }, | 780 | .{ .stosq, .z, &.{}, &.{ 0xab }, 0, .long, .none }, |
| 781 | | 781 | |
| 782 | .{ .sub, .zi, &.{ .al, .imm8 }, &.{ 0x2c }, 0, .none, .none }, | 782 | .{ .sub, .zi, &.{ .al, .imm8 }, &.{ 0x2c }, 0, .none, .none }, |
| 783 | .{ .sub, .zi, &.{ .ax, .imm16 }, &.{ 0x2d }, 0, .short, .none }, | 783 | .{ .sub, .zi, &.{ .ax, .imm16 }, &.{ 0x2d }, 0, .short, .none }, |
| ... | @@ -802,7 +802,7 @@ pub const table = [_]Entry{ | ... | @@ -802,7 +802,7 @@ pub const table = [_]Entry{ |
| 802 | .{ .sub, .rm, &.{ .r32, .rm32 }, &.{ 0x2b }, 0, .none, .none }, | 802 | .{ .sub, .rm, &.{ .r32, .rm32 }, &.{ 0x2b }, 0, .none, .none }, |
| 803 | .{ .sub, .rm, &.{ .r64, .rm64 }, &.{ 0x2b }, 0, .long, .none }, | 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 | .{ .@"test", .zi, &.{ .al, .imm8 }, &.{ 0xa8 }, 0, .none, .none }, | 807 | .{ .@"test", .zi, &.{ .al, .imm8 }, &.{ 0xa8 }, 0, .none, .none }, |
| 808 | .{ .@"test", .zi, &.{ .ax, .imm16 }, &.{ 0xa9 }, 0, .short, .none }, | 808 | .{ .@"test", .zi, &.{ .ax, .imm16 }, &.{ 0xa9 }, 0, .short, .none }, |
| ... | @@ -823,7 +823,7 @@ pub const table = [_]Entry{ | ... | @@ -823,7 +823,7 @@ pub const table = [_]Entry{ |
| 823 | .{ .tzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .none, .bmi }, | 823 | .{ .tzcnt, .rm, &.{ .r32, .rm32 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .none, .bmi }, |
| 824 | .{ .tzcnt, .rm, &.{ .r64, .rm64 }, &.{ 0xf3, 0x0f, 0xbc }, 0, .long, .bmi }, | 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 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .none, .none }, | 828 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .none, .none }, |
| 829 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .rex, .none }, | 829 | .{ .xadd, .mr, &.{ .rm8, .r8 }, &.{ 0x0f, 0xc0 }, 0, .rex, .none }, |
| ... | @@ -831,12 +831,12 @@ pub const table = [_]Entry{ | ... | @@ -831,12 +831,12 @@ pub const table = [_]Entry{ |
| 831 | .{ .xadd, .mr, &.{ .rm32, .r32 }, &.{ 0x0f, 0xc1 }, 0, .none, .none }, | 831 | .{ .xadd, .mr, &.{ .rm32, .r32 }, &.{ 0x0f, 0xc1 }, 0, .none, .none }, |
| 832 | .{ .xadd, .mr, &.{ .rm64, .r64 }, &.{ 0x0f, 0xc1 }, 0, .long, .none }, | 832 | .{ .xadd, .mr, &.{ .rm64, .r64 }, &.{ 0x0f, 0xc1 }, 0, .long, .none }, |
| 833 | | 833 | |
| 834 | .{ .xchg, .o, &.{ .ax, .r16 }, &.{ 0x90 }, 0, .short, .none }, | 834 | .{ .xchg, .zo, &.{ .ax, .r16 }, &.{ 0x90 }, 0, .short, .none }, |
| 835 | .{ .xchg, .o, &.{ .r16, .ax }, &.{ 0x90 }, 0, .short, .none }, | 835 | .{ .xchg, .oz, &.{ .r16, .ax }, &.{ 0x90 }, 0, .short, .none }, |
| 836 | .{ .xchg, .o, &.{ .eax, .r32 }, &.{ 0x90 }, 0, .none, .none }, | 836 | .{ .xchg, .zo, &.{ .eax, .r32 }, &.{ 0x90 }, 0, .none, .none }, |
| 837 | .{ .xchg, .o, &.{ .rax, .r64 }, &.{ 0x90 }, 0, .long, .none }, | 837 | .{ .xchg, .zo, &.{ .rax, .r64 }, &.{ 0x90 }, 0, .long, .none }, |
| 838 | .{ .xchg, .o, &.{ .r32, .eax }, &.{ 0x90 }, 0, .none, .none }, | 838 | .{ .xchg, .oz, &.{ .r32, .eax }, &.{ 0x90 }, 0, .none, .none }, |
| 839 | .{ .xchg, .o, &.{ .r64, .rax }, &.{ 0x90 }, 0, .long, .none }, | 839 | .{ .xchg, .oz, &.{ .r64, .rax }, &.{ 0x90 }, 0, .long, .none }, |
| 840 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .none, .none }, | 840 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .none, .none }, |
| 841 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .rex, .none }, | 841 | .{ .xchg, .mr, &.{ .rm8, .r8 }, &.{ 0x86 }, 0, .rex, .none }, |
| 842 | .{ .xchg, .rm, &.{ .r8, .rm8 }, &.{ 0x86 }, 0, .none, .none }, | 842 | .{ .xchg, .rm, &.{ .r8, .rm8 }, &.{ 0x86 }, 0, .none, .none }, |
| ... | @@ -848,7 +848,7 @@ pub const table = [_]Entry{ | ... | @@ -848,7 +848,7 @@ pub const table = [_]Entry{ |
| 848 | .{ .xchg, .rm, &.{ .r32, .rm32 }, &.{ 0x87 }, 0, .none, .none }, | 848 | .{ .xchg, .rm, &.{ .r32, .rm32 }, &.{ 0x87 }, 0, .none, .none }, |
| 849 | .{ .xchg, .rm, &.{ .r64, .rm64 }, &.{ 0x87 }, 0, .long, .none }, | 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 | .{ .xor, .zi, &.{ .al, .imm8 }, &.{ 0x34 }, 0, .none, .none }, | 853 | .{ .xor, .zi, &.{ .al, .imm8 }, &.{ 0x34 }, 0, .none, .none }, |
| 854 | .{ .xor, .zi, &.{ .ax, .imm16 }, &.{ 0x35 }, 0, .short, .none }, | 854 | .{ .xor, .zi, &.{ .ax, .imm16 }, &.{ 0x35 }, 0, .short, .none }, |
| ... | @@ -874,9 +874,9 @@ pub const table = [_]Entry{ | ... | @@ -874,9 +874,9 @@ pub const table = [_]Entry{ |
| 874 | .{ .xor, .rm, &.{ .r64, .rm64 }, &.{ 0x33 }, 0, .long, .none }, | 874 | .{ .xor, .rm, &.{ .r64, .rm64 }, &.{ 0x33 }, 0, .long, .none }, |
| 875 | | 875 | |
| 876 | // X87 | 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 | .{ .ffree, .o, &.{ .st }, &.{ 0xdd, 0xc0 }, 0, .none, .x87 }, | 881 | .{ .ffree, .o, &.{ .st }, &.{ 0xdd, 0xc0 }, 0, .none, .x87 }, |
| 882 | | 882 | |