aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qbe.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/qbe.c b/qbe.c
index b255d93..df6a74d 100644
--- a/qbe.c
+++ b/qbe.c
@@ -303,14 +303,13 @@ funccopy(struct func *f, struct value *dst, struct value *src, uint64_t size, in
struct value *tmp, *inc;
uint64_t off;
+ assert((align & align - 1) == 0);
class = 'w';
switch (align) {
case 1: load = ILOADUB, store = ISTOREB; break;
case 2: load = ILOADUH, store = ISTOREH; break;
case 4: load = ILOADW, store = ISTOREW; break;
- case 8: load = ILOADL, store = ISTOREL, class = 'l'; break;
- default:
- fatal("internal error; invalid alignment %d", align);
+ default: load = ILOADL, store = ISTOREL, align = 8, class = 'l'; break;
}
inc = mkintconst(align);
off = 0;