mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: add handling for new floating-point comparisons flags
The CL 164718 adds new condition flags for floating-point comparisons in arm64 backend, but dose not add the handling in rewrite.go for corresponding Ops, which causes issue 30679. And this CL fixes this issue. Fixes #30679 Change-Id: I8acc749f78227c3e9e74fa7938f05fb442fb62c6 Reviewed-on: https://go-review.googlesource.com/c/go/+/166579 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
ef891e1c83
commit
a85afef277
2 changed files with 34 additions and 0 deletions
|
|
@ -730,6 +730,14 @@ func arm64Negate(op Op) Op {
|
|||
return OpARM64NotEqual
|
||||
case OpARM64NotEqual:
|
||||
return OpARM64Equal
|
||||
case OpARM64LessThanF:
|
||||
return OpARM64GreaterEqualF
|
||||
case OpARM64GreaterThanF:
|
||||
return OpARM64LessEqualF
|
||||
case OpARM64LessEqualF:
|
||||
return OpARM64GreaterThanF
|
||||
case OpARM64GreaterEqualF:
|
||||
return OpARM64LessThanF
|
||||
default:
|
||||
panic("unreachable")
|
||||
}
|
||||
|
|
@ -762,6 +770,14 @@ func arm64Invert(op Op) Op {
|
|||
return OpARM64LessEqualU
|
||||
case OpARM64Equal, OpARM64NotEqual:
|
||||
return op
|
||||
case OpARM64LessThanF:
|
||||
return OpARM64GreaterThanF
|
||||
case OpARM64GreaterThanF:
|
||||
return OpARM64LessThanF
|
||||
case OpARM64LessEqualF:
|
||||
return OpARM64GreaterEqualF
|
||||
case OpARM64GreaterEqualF:
|
||||
return OpARM64LessEqualF
|
||||
default:
|
||||
panic("unreachable")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue