summaryrefslogtreecommitdiffstats
path: root/stdlib/optimize.tl
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/optimize.tl')
-rw-r--r--stdlib/optimize.tl17
1 files changed, 3 insertions, 14 deletions
diff --git a/stdlib/optimize.tl b/stdlib/optimize.tl
index 2274e424..a8e4ba9d 100644
--- a/stdlib/optimize.tl
+++ b/stdlib/optimize.tl
@@ -601,25 +601,14 @@
,*rest))))
(((mov (t @tn) (d @dn))
(jmp @lab3)
- @lab1
- (mov (t @tn) (t 0))
- (jmp @lab3)
@lab2
(mov (t @tn) (t 0))
@(symbolp @lab3)
(ifq (t @tn) (t 0) @lab4)
. @rest)
- (let ((lab5 (gensym "nl")))
- ^((mov (t ,tn) (d ,dn))
- (jmp ,lab4)
- ,lab1
- ,lab2
- (mov (t ,tn) (t 0))
- (jmp ,lab5)
- ,lab3
- (ifq (t ,tn) (t 0) ,lab4)
- ,lab5
- ,*rest)))
+ ^(,(car insns)
+ (jmp ,lab4)
+ ,*(cddr insns)))
(((mov (t @tx) (t @ty))
(if (t @ty) @lab2)
@(symbolp @lab1)