From e2746444d0291efe1b1ce45d1c8716609c4bf152 Mon Sep 17 00:00:00 2001 From: crvdgc Date: Fri, 4 Oct 2024 19:16:50 +0100 Subject: [PATCH] [herd,SVE] Fix non-scatter store value register reading --- herd/AArch64Sem.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/herd/AArch64Sem.ml b/herd/AArch64Sem.ml index cff21a5b7..a479334b4 100644 --- a/herd/AArch64Sem.ml +++ b/herd/AArch64Sem.ml @@ -2899,9 +2899,13 @@ module Make let<>= base = ma in let>= pred = read_reg_predicate false p ii in let ops i r = + let<>= v = + any_active p pred psize nelem ii + (read_reg_scalable true r ii) + mzero + in let op idx = let store = - let>= v = read_reg_scalable true r ii in let offset = (idx * nregs + i) * MachSize.nbytes sz in let>= addr = M.op1 (Op.AddK offset) base and* v = scalable_getlane v idx esize >>= demote in