Raymond Toy pushed to branch issue-336-1-fix-compiler-notes at cmucl / cmucl
Commits:
-
1cf38921
by Raymond Toy at 2024-07-12T17:19:30-07:00
1 changed file:
Changes:
... | ... | @@ -773,10 +773,11 @@ |
773 | 773 | (inst ,opinst x (,ea y)))
|
774 | 774 | (,stack-sc
|
775 | 775 | (inst ,opinst x (,ea-stack y)))))
|
776 | - ((and ,commutative (location= y r))
|
|
777 | - ;; y = r and the operation is commutative, so just
|
|
778 | - ;; do the operation with r and x.
|
|
779 | - (inst ,opinst y x))
|
|
776 | + ,@(when commutative
|
|
777 | + `(((location= y r)
|
|
778 | + ;; y = r and the operation is commutative, so just
|
|
779 | + ;; do the operation with r and x.
|
|
780 | + (inst ,opinst y x))))
|
|
780 | 781 | ((not (location= r y))
|
781 | 782 | ;; x, y, and r are three different regs. So just
|
782 | 783 | ;; move r to x and do the operation on r.
|
... | ... | @@ -1994,8 +1995,9 @@ |
1994 | 1995 | `(cond
|
1995 | 1996 | ((location= x r)
|
1996 | 1997 | (inst ,opinst x y))
|
1997 | - ((and ,commutative (location= y r))
|
|
1998 | - (inst ,opinst y x))
|
|
1998 | + ,@(when commutative
|
|
1999 | + `(((location= y r)
|
|
2000 | + (inst ,opinst y x))))
|
|
1999 | 2001 | ((not (location= r y))
|
2000 | 2002 | (inst ,movinst r x)
|
2001 | 2003 | (inst ,opinst r y))
|