summary refs log tree commit diff
path: root/arm64
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-05-08 14:16:39 -0700
committerQuentin Carbonneaux <quentin@c9x.me>2019-05-15 11:43:50 +0200
commit359c4ebb17f79767ab2aa29162e7f164cb513163 (patch)
tree297f0c1ec17fea6e6ae3b18c0a316d7e0d150f56 /arm64
parent9e7e5bffc4e4af37a6c29657ba87fbb6a1123cf2 (diff)
downloadroux-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.c4
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" },