// asmcheck

// Copyright 2019 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.

// Make sure we reuse large constant loads, if we can.
// See issue 33580.

package codegen

const (
	A = 7777777777777777
	B = 8888888888888888
)

func f(x, y uint64) uint64 {
	p := x & A
	q := y & A
	r := x & B
	// amd64:-"MOVQ.*8888888888888888"
	s := y & B

	return p * q * r * s
}