sjl at ouroboros in ~ ><((°> sbcl [SBCL] CL-USER> (deftype u32 () '(unsigned-byte 32)) U32 [SBCL] CL-USER> (declaim (ftype (function (u32 u32) u32) +/32)) (|+/32|) [SBCL] CL-USER> (defun +/32 (x y) (mod (+ x y) (expt 2 32))) |+/32| [SBCL] CL-USER> (disassemble '+/32) ; disassembly for |+/32| ; Size: 27 bytes. Origin: #x10065F5F3A ; 3A: 498B4D60 MOV RCX, [R13+96] ; no-arg-parsing entry point ; thread.binding-stack-pointer ; 3E: 48894DF8 MOV [RBP-8], RCX ; 42: 488D143B LEA RDX, [RBX+RDI] ; 46: 4823158BFFFFFF AND RDX, [RIP-117] ; [#x10065F5ED8] = #x1FFFFFFFE ; 4D: 488BE5 MOV RSP, RBP ; 50: F8 CLC ; 51: 5D POP RBP ; 52: C3 RET ; 53: CC0F BREAK 15 ; Invalid argument count trap NIL [SBCL] CL-USER>