blob: 405d89296d5211ed3064100a61ef09144564a072 [file] [edit]
// run
// Copyright 2026 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.
package main
import (
"fmt"
)
//go:noinline
func shifted(x int64, y uint64) int64 {
return x >> uint32(y)
}
func main() {
x := int64(-0x4000000000000000)
got := shifted(x, ^uint64(0)&^(1<<32-2))
want := x >> 1
if got != want {
panic(fmt.Sprintf("want %d; got %d", want, got))
}
}