blob: c35097344a436414e8c8c3659bd4daf1711d5eb2 [file]
// asmcheck
// Copyright 2025 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 codegen
import "math/bits"
func f(n int) int {
r := 0
// arm64:-"MOVD R[0-9]+, R[0-9]+"
// amd64:-"LEAQ" "INCQ"
for i := range n {
r += i
}
return r
}
// addVW has loop body with both a flag-producing op and an induction-variable increment.
// It ensures that the induction increment doesn't get pointlessly spilled.
func addVWLike(z, x []uint, y uint) uint {
c := y
// arm64:-"MOVD R[0-9]+, R[0-9]+"
// amd64:-"LEAQ" "INCQ"
for i := range z {
zi, cc := bits.Add(x[i], c, 0)
z[i] = zi
c = cc
}
return c
}