Do you mean for the cond to be evaluated at compile time in the following?
(def store-to-register (reg val) (cond (reg) ((number-that-means-eax) (store eax val)
If so you could just generate: (mov t1 eax)
Then the register allocator will try to allocate t1 in eax and remove that move.
Bryce