From 02d7b9d8c67b12f2e105ee56399a1fc633bcbe0f Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 24 Jun 2023 22:19:14 +0200 Subject: fix replcuses --- intrin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'intrin.c') 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)); -- cgit v1.2.3