diff options
author | Michael Forney <mforney@mforney.org> | 2019-05-08 14:16:39 -0700 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2019-05-15 11:43:50 +0200 |
commit | 359c4ebb17f79767ab2aa29162e7f164cb513163 (patch) | |
tree | 297f0c1ec17fea6e6ae3b18c0a316d7e0d150f56 /arm64 | |
parent | 9e7e5bffc4e4af37a6c29657ba87fbb6a1123cf2 (diff) | |
download | roux-359c4ebb17f79767ab2aa29162e7f164cb513163.tar.gz |
arm64: Use 32-bit register name when loading 'b' or 'h' into 'l'
The ldrb and ldrh instructions require a 32-bit register name for the destination and will clear the upper 32-bits of that register.
Diffstat (limited to 'arm64')
-rw-r--r-- | arm64/emit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arm64/emit.c b/arm64/emit.c index 8211c4f..847d613 100644 --- a/arm64/emit.c +++ b/arm64/emit.c @@ -67,9 +67,9 @@ static struct { { Ostores, Kw, "str %S0, %M1" }, { Ostored, Kw, "str %D0, %M1" }, { Oloadsb, Ki, "ldrsb %=, %M0" }, - { Oloadub, Ki, "ldrb %=, %M0" }, + { Oloadub, Ki, "ldrb %W=, %M0" }, { Oloadsh, Ki, "ldrsh %=, %M0" }, - { Oloaduh, Ki, "ldrh %=, %M0" }, + { Oloaduh, Ki, "ldrh %W=, %M0" }, { Oloadsw, Kw, "ldr %=, %M0" }, { Oloadsw, Kl, "ldrsw %=, %M0" }, { Oloaduw, Ki, "ldr %W=, %M0" }, |