mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 16:50:58 +00:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
	
		
			949 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
	
		
			949 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | // asmcheck | ||
|  | 
 | ||
|  | // Copyright 2022 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 | ||
|  | 
 | ||
|  | func f1(x *[4]int, y *[4]int) { | ||
|  | 	// amd64:".*memmove" | ||
|  | 	*x = *y | ||
|  | } | ||
|  | func f2(x *[4]int, y [4]int) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	*x = y | ||
|  | } | ||
|  | func f3(x *[4]int, y *[4]int) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	t := *y | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	*x = t | ||
|  | } | ||
|  | func f4(x *[4]int, y [4]int) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	t := y | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	*x = t | ||
|  | } | ||
|  | 
 | ||
|  | type T struct { | ||
|  | 	a [4]int | ||
|  | } | ||
|  | 
 | ||
|  | func f5(x, y *T) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	x.a = y.a | ||
|  | } | ||
|  | func f6(x *T, y T) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	x.a = y.a | ||
|  | } | ||
|  | func f7(x *T, y *[4]int) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	x.a = *y | ||
|  | } | ||
|  | func f8(x *[4]int, y *T) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	*x = y.a | ||
|  | } | ||
|  | 
 | ||
|  | func f9(x [][4]int, y [][4]int, i, j int) { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	x[i] = y[j] | ||
|  | } | ||
|  | 
 | ||
|  | func f10() []byte { | ||
|  | 	// amd64:-".*memmove" | ||
|  | 	return []byte("aReasonablyBigTestString") | ||
|  | } |