(declaim (inline foo)) (defun foo (x y) (cons x y))
(defun bar (x) (foo (foo x x) (foo x x)))
Disassembly shows a full call to FOO. I'm not yet sure why one call doesn't get converted properly, so if someone has insights to offer, they are very welcome. This doesn't seem to be a new bug, but something coming all the way from CMUCL heritage.