| 
									
										
										
										
											2017-04-11 02:25:53 +03:00
										 |  |  | // Copyright 2012 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // +build amd64,!gccgo,!appengine | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-03 10:09:34 +03:00
										 |  |  | // func cswap(inout *[4][5]uint64, v uint64) | 
					
						
							| 
									
										
										
										
											2017-04-11 02:25:53 +03:00
										 |  |  | TEXT ·cswap(SB),7,$0 | 
					
						
							|  |  |  | 	MOVQ inout+0(FP),DI | 
					
						
							|  |  |  | 	MOVQ v+8(FP),SI | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-03 10:09:34 +03:00
										 |  |  | 	SUBQ $1, SI | 
					
						
							|  |  |  | 	NOTQ SI | 
					
						
							|  |  |  | 	MOVQ SI, X15 | 
					
						
							|  |  |  | 	PSHUFD $0x44, X15, X15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	MOVOU 0(DI), X0 | 
					
						
							|  |  |  | 	MOVOU 16(DI), X2 | 
					
						
							|  |  |  | 	MOVOU 32(DI), X4 | 
					
						
							|  |  |  | 	MOVOU 48(DI), X6 | 
					
						
							|  |  |  | 	MOVOU 64(DI), X8 | 
					
						
							|  |  |  | 	MOVOU 80(DI), X1 | 
					
						
							|  |  |  | 	MOVOU 96(DI), X3 | 
					
						
							|  |  |  | 	MOVOU 112(DI), X5 | 
					
						
							|  |  |  | 	MOVOU 128(DI), X7 | 
					
						
							|  |  |  | 	MOVOU 144(DI), X9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	MOVO X1, X10 | 
					
						
							|  |  |  | 	MOVO X3, X11 | 
					
						
							|  |  |  | 	MOVO X5, X12 | 
					
						
							|  |  |  | 	MOVO X7, X13 | 
					
						
							|  |  |  | 	MOVO X9, X14 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	PXOR X0, X10 | 
					
						
							|  |  |  | 	PXOR X2, X11 | 
					
						
							|  |  |  | 	PXOR X4, X12 | 
					
						
							|  |  |  | 	PXOR X6, X13 | 
					
						
							|  |  |  | 	PXOR X8, X14 | 
					
						
							|  |  |  | 	PAND X15, X10 | 
					
						
							|  |  |  | 	PAND X15, X11 | 
					
						
							|  |  |  | 	PAND X15, X12 | 
					
						
							|  |  |  | 	PAND X15, X13 | 
					
						
							|  |  |  | 	PAND X15, X14 | 
					
						
							|  |  |  | 	PXOR X10, X0 | 
					
						
							|  |  |  | 	PXOR X10, X1 | 
					
						
							|  |  |  | 	PXOR X11, X2 | 
					
						
							|  |  |  | 	PXOR X11, X3 | 
					
						
							|  |  |  | 	PXOR X12, X4 | 
					
						
							|  |  |  | 	PXOR X12, X5 | 
					
						
							|  |  |  | 	PXOR X13, X6 | 
					
						
							|  |  |  | 	PXOR X13, X7 | 
					
						
							|  |  |  | 	PXOR X14, X8 | 
					
						
							|  |  |  | 	PXOR X14, X9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	MOVOU X0, 0(DI) | 
					
						
							|  |  |  | 	MOVOU X2, 16(DI) | 
					
						
							|  |  |  | 	MOVOU X4, 32(DI) | 
					
						
							|  |  |  | 	MOVOU X6, 48(DI) | 
					
						
							|  |  |  | 	MOVOU X8, 64(DI) | 
					
						
							|  |  |  | 	MOVOU X1, 80(DI) | 
					
						
							|  |  |  | 	MOVOU X3, 96(DI) | 
					
						
							|  |  |  | 	MOVOU X5, 112(DI) | 
					
						
							|  |  |  | 	MOVOU X7, 128(DI) | 
					
						
							|  |  |  | 	MOVOU X9, 144(DI) | 
					
						
							| 
									
										
										
										
											2017-04-11 02:25:53 +03:00
										 |  |  | 	RET |