aboutsummaryrefslogtreecommitdiff
path: root/src/register_manager.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-01-26 16:14:57 +0100
committerJakub Konka <kubkon@jakubkonka.com>2022-01-26 16:14:57 +0100
commit9f224ebd9a4f26d0dc5b0937d3d5df8fe78f1c9d (patch)
treee3bbcb01c6c19953004d0a28efc789a5015e9f4a /src/register_manager.zig
parent075e2eaaafb1038ce623713d9dc4947171d5c255 (diff)
downloadzig-9f224ebd9a4f26d0dc5b0937d3d5df8fe78f1c9d.tar.gz
zig-9f224ebd9a4f26d0dc5b0937d3d5df8fe78f1c9d.zip
stage2: add zero- and sign-extend moves to x86_64
* remove `LoweringError` error set from `Emit.zig` - it actually was less than helpful; it's better to either not throw an error since there can be instructions with mismatching operand sizes such as `movsx` or assert on a by instruction-basis. Currently, let's just pass through and see how we fare. * when moving integers into registers, check for signedness and move with zero- or sign-extension if source operand is smaller than 8 bytes. The destination operand is always assumed to be full-width, i.e., 8 bytes. * clean up `airTrunc` a little to match the rest of CodeGen inst implementations.
Diffstat (limited to 'src/register_manager.zig')
0 files changed, 0 insertions, 0 deletions