]>
Commit | Line | Data |
---|---|---|
bae9f6d2 JC |
1 | // Copyright 2012 The Go Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style | |
3 | // license that can be found in the LICENSE file. | |
4 | ||
5 | // This code was translated into a form compatible with 6a from the public | |
6 | // domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html | |
7 | ||
8 | // +build amd64,!gccgo,!appengine | |
9 | ||
10 | // func cswap(inout *[5]uint64, v uint64) | |
11 | TEXT ·cswap(SB),7,$0 | |
12 | MOVQ inout+0(FP),DI | |
13 | MOVQ v+8(FP),SI | |
14 | ||
15 | CMPQ SI,$1 | |
16 | MOVQ 0(DI),SI | |
17 | MOVQ 80(DI),DX | |
18 | MOVQ 8(DI),CX | |
19 | MOVQ 88(DI),R8 | |
20 | MOVQ SI,R9 | |
21 | CMOVQEQ DX,SI | |
22 | CMOVQEQ R9,DX | |
23 | MOVQ CX,R9 | |
24 | CMOVQEQ R8,CX | |
25 | CMOVQEQ R9,R8 | |
26 | MOVQ SI,0(DI) | |
27 | MOVQ DX,80(DI) | |
28 | MOVQ CX,8(DI) | |
29 | MOVQ R8,88(DI) | |
30 | MOVQ 16(DI),SI | |
31 | MOVQ 96(DI),DX | |
32 | MOVQ 24(DI),CX | |
33 | MOVQ 104(DI),R8 | |
34 | MOVQ SI,R9 | |
35 | CMOVQEQ DX,SI | |
36 | CMOVQEQ R9,DX | |
37 | MOVQ CX,R9 | |
38 | CMOVQEQ R8,CX | |
39 | CMOVQEQ R9,R8 | |
40 | MOVQ SI,16(DI) | |
41 | MOVQ DX,96(DI) | |
42 | MOVQ CX,24(DI) | |
43 | MOVQ R8,104(DI) | |
44 | MOVQ 32(DI),SI | |
45 | MOVQ 112(DI),DX | |
46 | MOVQ 40(DI),CX | |
47 | MOVQ 120(DI),R8 | |
48 | MOVQ SI,R9 | |
49 | CMOVQEQ DX,SI | |
50 | CMOVQEQ R9,DX | |
51 | MOVQ CX,R9 | |
52 | CMOVQEQ R8,CX | |
53 | CMOVQEQ R9,R8 | |
54 | MOVQ SI,32(DI) | |
55 | MOVQ DX,112(DI) | |
56 | MOVQ CX,40(DI) | |
57 | MOVQ R8,120(DI) | |
58 | MOVQ 48(DI),SI | |
59 | MOVQ 128(DI),DX | |
60 | MOVQ 56(DI),CX | |
61 | MOVQ 136(DI),R8 | |
62 | MOVQ SI,R9 | |
63 | CMOVQEQ DX,SI | |
64 | CMOVQEQ R9,DX | |
65 | MOVQ CX,R9 | |
66 | CMOVQEQ R8,CX | |
67 | CMOVQEQ R9,R8 | |
68 | MOVQ SI,48(DI) | |
69 | MOVQ DX,128(DI) | |
70 | MOVQ CX,56(DI) | |
71 | MOVQ R8,136(DI) | |
72 | MOVQ 64(DI),SI | |
73 | MOVQ 144(DI),DX | |
74 | MOVQ 72(DI),CX | |
75 | MOVQ 152(DI),R8 | |
76 | MOVQ SI,R9 | |
77 | CMOVQEQ DX,SI | |
78 | CMOVQEQ R9,DX | |
79 | MOVQ CX,R9 | |
80 | CMOVQEQ R8,CX | |
81 | CMOVQEQ R9,R8 | |
82 | MOVQ SI,64(DI) | |
83 | MOVQ DX,144(DI) | |
84 | MOVQ CX,72(DI) | |
85 | MOVQ R8,152(DI) | |
86 | MOVQ DI,AX | |
87 | MOVQ SI,DX | |
88 | RET |