blob: 765aaa2341aa318dd792ad9f6ef2f5ba1bde69bb [file] [edit]
// 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.
// Test common subexpression elimination of loads around other operations.
package codegen
func loadsAroundMemEqual(p *int, s1, s2 string) (int, bool) {
x := *p
eq := s1 == s2
y := *p
// arm64:"MOVD ZR, R0"
return x - y, eq
}
func loadsAroundVarDefAndZero(p *int) (int, *int) {
x := *p
var s [2]*int
s[0] = p
y := *p
// arm64:"MOVD ZR, R0"
return x - y, s[0]
}