Initial commit: Go 1.23 release state
This commit is contained in:
26
test/fixedbugs/issue26438.go
Normal file
26
test/fixedbugs/issue26438.go
Normal file
@@ -0,0 +1,26 @@
|
||||
// run
|
||||
|
||||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Issue 26438: arm64 backend may use 64-bit TST for
|
||||
// "if uint32(a)&uint32(b) == 0", which should be
|
||||
// 32-bit TSTW
|
||||
|
||||
package main
|
||||
|
||||
//go:noinline
|
||||
func tstw(a, b uint64) uint64 {
|
||||
if uint32(a)&uint32(b) == 0 {
|
||||
return 100
|
||||
} else {
|
||||
return 200
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
if tstw(0xff00000000, 0xaa00000000) == 200 {
|
||||
panic("impossible")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user