summary refs log tree commit diff
path: root/amd64/isel.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2017-06-06 18:06:34 -0400
committerQuentin Carbonneaux <quentin@c9x.me>2017-06-06 18:12:17 -0400
commit64c79edda0bc29d11b7efaffa9d051f64ea431d0 (patch)
tree9175df2701786764df606e347ed5b1f347916262 /amd64/isel.c
parent9908ae067af59cb6e43997552cb0e03e8f082f31 (diff)
downloadroux-64c79edda0bc29d11b7efaffa9d051f64ea431d0.tar.gz
fix fp subtractions on amd64
The stashing of constants in gas.c was also
changed to support 16-bytes constants.
Diffstat (limited to 'amd64/isel.c')
-rw-r--r--amd64/isel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/amd64/isel.c b/amd64/isel.c
index 180439b..4202610 100644
--- a/amd64/isel.c
+++ b/amd64/isel.c
@@ -80,7 +80,7 @@ fixarg(Ref *r, int k, int op, Fn *fn)
 		memset(&a, 0, sizeof a);
 		a.offset.type = CAddr;
 		a.offset.local = 1;
-		n = gasstashfp(fn->con[r0.val].bits.i, KWIDE(k));
+		n = gasstash(&fn->con[r0.val].bits, KWIDE(k) ? 8 : 4);
 		sprintf(buf, "fp%d", n);
 		a.offset.label = intern(buf);
 		fn->mem[fn->nmem-1] = a;