package register import ( "git.akyoto.dev/cli/q/src/build/asm" "git.akyoto.dev/cli/q/src/build/cpu" ) func (f *Machine) RegisterRegister(mnemonic asm.Mnemonic, a cpu.Register, b cpu.Register) { if mnemonic == asm.MOVE && a == b { return } if f.RegisterIsUsed(a) && isDestructive(mnemonic) { f.SaveRegister(a) } f.Assembler.RegisterRegister(mnemonic, a, b) if mnemonic == asm.MOVE { f.UseRegister(a) } f.postInstruction() }