x86_64: PtrSize.fromSize() should take into account nonexact sizes too
1 files changed, 12 insertions(+), 8 deletions(-)
src/arch/x86_64/bits.zig+12-8
| ... | ... | @@ -418,14 +418,18 @@ pub const Memory = union(enum) { |
| 418 | 418 | tbyte, |
| 419 | 419 | |
| 420 | 420 | pub fn fromSize(size: u32) PtrSize { |
| 421 | | return switch (size) { |
| 422 | | 1 => .byte, |
| 423 | | 2 => .word, |
| 424 | | 4 => .dword, |
| 425 | | 8 => .qword, |
| 426 | | 10 => .tbyte, |
| 427 | | else => unreachable, |
| 428 | | }; |
| 421 | return if (size <= 1) |
| 422 | .byte |
| 423 | else if (size <= 2) |
| 424 | .word |
| 425 | else if (size <= 4) |
| 426 | .dword |
| 427 | else if (size <= 8) |
| 428 | .qword |
| 429 | else if (size == 10) |
| 430 | .tbyte |
| 431 | else |
| 432 | unreachable; |
| 429 | 433 | } |
| 430 | 434 | |
| 431 | 435 | pub fn fromBitSize(bit_size: u64) PtrSize { |