simulator: cleanup

- Fix makefile not to create object dir repeatedly
- Restructure retireInstruction so uncommon cases aren't evaluated unnecessarily
 (about 12% faster)