libera/#sbcl - IRC Chatlog
Search
17:59:08
resttime
Hi, trying to learn about how vops work. Could someone explain this behaviour I'm seeing? https://plaster.tymoon.eu/view/3345#3345
17:59:35
resttime
As a lambda or function it doesn't seem to use the VOP I'm expecting but a funcall of a lambda does
21:19:30
resttime
stassats: Oh I think I'm starting to understand, so in the generator I'll need to store the result like so (inst mov r <RESULT>). What does 'destroying an input register' mean? I guess my understanding of assembly isn't the strongest. The way I'm interpreting the define-vop is that the args are respectively stored in a random input register referred to as x and random input register referred to as y.
21:19:33
resttime
Then (move r y) (inst add r x) should do the behaviour I'm expecting to simply add the two integers. I'm finding again though that the funcall gives a different result tan the other two.
21:30:37
resttime
Oh wait I think I've figured it out the definition of fast-fixnum-binop that my add-vop is inheriting from states the result register r is :FROM (:ARGUMENT 0)