aboutsummaryrefslogtreecommitdiffhomepage
path: root/intrin.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-24 22:19:14 +0200
committerlemon <lsof@mailbox.org>2023-06-24 22:19:14 +0200
commit02d7b9d8c67b12f2e105ee56399a1fc633bcbe0f (patch)
treec7ed9c437f807740fc532cb229120d0d3155b80e /intrin.c
parent19bbdfa3c7ae05f4694ce5e434d9855c6f2c3682 (diff)
fix replcuses
Diffstat (limited to 'intrin.c')
-rw-r--r--intrin.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/intrin.c b/intrin.c
index 6a3bc7f..70928d4 100644
--- a/intrin.c
+++ b/intrin.c
@@ -34,8 +34,8 @@ intrin(struct block *blk, int *curi, enum intrin in, struct arg *args, int narg,
for (int off = 0; off < td->siz; off += step) {
union ref psrc = *args[1].arg, pdst = *args[0].arg, src;
if (off) {
- pdst = mkaddr((struct addr) {.base = *args[0].arg, .disp = off});
- psrc = mkaddr((struct addr) {.base = *args[1].arg, .disp = off});
+ pdst = insertinstr(blk, ++*curi, mkinstr(Oadd, KPTR, *args[0].arg, mkref(RICON, off)));
+ psrc = insertinstr(blk, ++*curi, mkinstr(Oadd, KPTR, *args[1].arg, mkref(RICON, off)));
}
src = insertinstr(blk, ++*curi, mkinstr(Oloads1 + 2*ilog2(step), step < 8 ? KI4 : KI8, psrc));
insertinstr(blk, ++*curi, mkinstr(Ostore1 + ilog2(step), 0, pdst, src));