diff options
Diffstat (limited to 'src/cmd/6g/gsubr.c')
-rw-r--r-- | src/cmd/6g/gsubr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/6g/gsubr.c b/src/cmd/6g/gsubr.c index 6934c6f30..86ba52c3f 100644 --- a/src/cmd/6g/gsubr.c +++ b/src/cmd/6g/gsubr.c @@ -554,7 +554,9 @@ gmove(Node *f, Node *t) goto st; st: - if(f->op == OCONST) { + // 64-bit immediates only allowed for move into registers. + // this is not a move into a register. + if(f->op == OCONST || (f->op == OLITERAL && !t64)) { gins(a, f, t); return; } |