Fixed comparison with negative numbers on arm64
This commit is contained in:
@ -4,10 +4,14 @@ import "git.urbach.dev/cli/q/src/cpu"
|
||||
|
||||
// CompareRegisterNumber is an alias for a subtraction that updates the conditional flags and discards the result.
|
||||
func CompareRegisterNumber(register cpu.Register, number int) uint32 {
|
||||
return addRegisterNumber(0b11, 1, ZR, register, number)
|
||||
if number < 0 {
|
||||
return addRegisterNumber(ZR, register, -number, 1)
|
||||
}
|
||||
|
||||
return subRegisterNumber(ZR, register, number, 1)
|
||||
}
|
||||
|
||||
// CompareRegisterRegister is an alias for a subtraction that updates the conditional flags and discards the result.
|
||||
func CompareRegisterRegister(reg1 cpu.Register, reg2 cpu.Register) uint32 {
|
||||
return addRegisterRegister(0b11, 1, ZR, reg1, reg2)
|
||||
return subRegisterRegister(ZR, reg1, reg2, 1)
|
||||
}
|
||||
|
Reference in New Issue
Block a user