From 083bd95ef10c480fd234ec25933da27b2fa3fda9 Mon Sep 17 00:00:00 2001 From: Andrew Chambers Date: Wed, 27 Feb 2019 14:15:30 +1300 Subject: Don't add zero offsets when zeroing. --- qbe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'qbe.c') diff --git a/qbe.c b/qbe.c index 68a7d0c..8446886 100644 --- a/qbe.c +++ b/qbe.c @@ -865,7 +865,7 @@ zero(struct function *func, struct value *addr, int align, uint64_t offset, uint while (offset < end) { if ((align - (offset & align - 1)) & a) { - tmp = funcinst(func, IADD, &iptr, (struct value *[]){addr, mkintconst(&iptr, offset)}); + tmp = offset ? funcinst(func, IADD, &iptr, (struct value *[]){addr, mkintconst(&iptr, offset)}) : addr; funcinst(func, store[a], NULL, (struct value *[]){&z, tmp}); offset += a; } -- cgit v1.2.3