aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/Asm.v
diff options
context:
space:
mode:
authorMichael Schmidt <github@mschmidt.me>2018-10-19 21:23:29 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2018-10-20 10:02:59 +0200
commit64393c4bb570c4c9570ddc4c457618db6fb71108 (patch)
tree41cbf65b2e787bee3e950af781b83002188ab3bc /powerpc/Asm.v
parent791971d203068a032477c7627cc97c06fac95da2 (diff)
downloadcompcert-kvx-64393c4bb570c4c9570ddc4c457618db6fb71108.tar.gz
compcert-kvx-64393c4bb570c4c9570ddc4c457618db6fb71108.zip
Use 'gpr_or_zero' for base register of indexed load/stores, bug 24776
Diffstat (limited to 'powerpc/Asm.v')
-rw-r--r--powerpc/Asm.v4
1 files changed, 2 insertions, 2 deletions
diff --git a/powerpc/Asm.v b/powerpc/Asm.v
index aa15547b..ad24f563 100644
--- a/powerpc/Asm.v
+++ b/powerpc/Asm.v
@@ -606,7 +606,7 @@ Definition load1 (chunk: memory_chunk) (rd: preg)
Definition load2 (chunk: memory_chunk) (rd: preg) (r1 r2: ireg)
(rs: regset) (m: mem) :=
- match Mem.loadv chunk m (Val.add rs#r1 rs#r2) with
+ match Mem.loadv chunk m (Val.add (gpr_or_zero rs r1) rs#r2) with
| None => Stuck
| Some v => Next (nextinstr (rs#rd <- v)) m
end.
@@ -620,7 +620,7 @@ Definition store1 (chunk: memory_chunk) (r: preg)
Definition store2 (chunk: memory_chunk) (r: preg) (r1 r2: ireg)
(rs: regset) (m: mem) :=
- match Mem.storev chunk m (Val.add rs#r1 rs#r2) (rs#r) with
+ match Mem.storev chunk m (Val.add (gpr_or_zero rs r1) rs#r2) (rs#r) with
| None => Stuck
| Some m' => Next (nextinstr rs) m'
end.