ssa.UnOp: sub/not/xor

This commit is contained in:
visualfc
2024-05-07 09:55:51 +08:00
parent bc7412f6c9
commit 68949c28c8
3 changed files with 114 additions and 17 deletions

View File

@@ -100,13 +100,13 @@ func printuint(v uint64) {
gwrite(buf[i:])
}
// func printint(v int64) {
// if v < 0 {
// printstring("-")
// v = -v
// }
// printuint(uint64(v))
// }
func printint(v int64) {
if v < 0 {
printstring("-")
v = -v
}
printuint(uint64(v))
}
var minhexdigits = 0
@@ -171,4 +171,27 @@ func main() {
printnl()
printhex(0x1234abcf)
printnl()
prinxor(1)
printnl()
prinsub(100)
printnl()
prinusub(1<<64 - 1)
printnl()
prinfsub(100.1)
}
func prinxor(n int64) {
printint(^n)
}
func prinsub(n int64) {
printint(-n)
}
func prinusub(n uint64) {
printuint(-n)
}
func prinfsub(n float64) {
_ = -n
}