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 | |
| 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.
| -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" }, |
