aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/arm64/asm7.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/internal/obj/arm64/asm7.go')
-rw-r--r--src/cmd/internal/obj/arm64/asm7.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/internal/obj/arm64/asm7.go b/src/cmd/internal/obj/arm64/asm7.go
index 972980defe..eb6974e567 100644
--- a/src/cmd/internal/obj/arm64/asm7.go
+++ b/src/cmd/internal/obj/arm64/asm7.go
@@ -8465,7 +8465,11 @@ func EncodeRegisterExtension(a *obj.Addr, ext string, reg, num int16, isAmount,
a.Reg = REG_ZARNGELEM + (reg & 31) + int16((arng&15)<<5)
a.Index = num
} else {
- a.Reg = REG_ZARNG + (reg & 31) + int16((arng&15)<<5)
+ if a.Type == obj.TYPE_MEM {
+ a.Index = REG_ZARNG + (reg & 31) + int16((arng&15)<<5)
+ } else {
+ a.Reg = REG_ZARNG + (reg & 31) + int16((arng&15)<<5)
+ }
}
} else if REG_P0 <= reg && reg <= REG_PN15 {
var arng int