~mcf/cproc

e049bdb1bf525af3dc9d813940e6f4fa92c04b77 — Michael Forney a month ago 9cae1b5
qbe: Support more aligned types in funccopy

We don't have any of these currently, but it's easier to support
than to error out.
1 files changed, 2 insertions(+), 3 deletions(-)

M qbe.c
M qbe.c => qbe.c +2 -3
@@ 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;