Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / go / analysis / passes / asmdecl / testdata / src / a / asm5.s
1 // Copyright 2016 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 // +build mips64
6
7 TEXT ·arg1(SB),0,$0-2
8         MOVB    x+0(FP), R1
9         MOVBU   y+1(FP), R2
10         MOVH    x+0(FP), R1 // want `\[mips64\] arg1: invalid MOVH of x\+0\(FP\); int8 is 1-byte value`
11         MOVHU   y+1(FP), R1 // want `invalid MOVHU of y\+1\(FP\); uint8 is 1-byte value`
12         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); int8 is 1-byte value`
13         MOVWU   y+1(FP), R1 // want `invalid MOVWU of y\+1\(FP\); uint8 is 1-byte value`
14         MOVV    x+0(FP), R1 // want `invalid MOVV of x\+0\(FP\); int8 is 1-byte value`
15         MOVV    y+1(FP), R1 // want `invalid MOVV of y\+1\(FP\); uint8 is 1-byte value`
16         MOVB    x+1(FP), R1 // want `invalid offset x\+1\(FP\); expected x\+0\(FP\)`
17         MOVBU   y+2(FP), R1 // want `invalid offset y\+2\(FP\); expected y\+1\(FP\)`
18         MOVB    16(R29), R1 // want `16\(R29\) should be x\+0\(FP\)`
19         MOVB    17(R29), R1 // want `17\(R29\) should be y\+1\(FP\)`
20         MOVB    18(R29), R1 // want `use of 18\(R29\) points beyond argument frame`
21         RET
22
23 TEXT ·arg2(SB),0,$0-4
24         MOVBU   x+0(FP), R1 // want `arg2: invalid MOVBU of x\+0\(FP\); int16 is 2-byte value`
25         MOVB    y+2(FP), R1 // want `invalid MOVB of y\+2\(FP\); uint16 is 2-byte value`
26         MOVHU   x+0(FP), R1
27         MOVH    y+2(FP), R2
28         MOVWU   x+0(FP), R1 // want `invalid MOVWU of x\+0\(FP\); int16 is 2-byte value`
29         MOVW    y+2(FP), R1 // want `invalid MOVW of y\+2\(FP\); uint16 is 2-byte value`
30         MOVV    x+0(FP), R1 // want `invalid MOVV of x\+0\(FP\); int16 is 2-byte value`
31         MOVV    y+2(FP), R1 // want `invalid MOVV of y\+2\(FP\); uint16 is 2-byte value`
32         MOVHU   x+2(FP), R1 // want `invalid offset x\+2\(FP\); expected x\+0\(FP\)`
33         MOVH    y+0(FP), R1 // want `invalid offset y\+0\(FP\); expected y\+2\(FP\)`
34         RET
35
36 TEXT ·arg4(SB),0,$0-2 // want `arg4: wrong argument size 2; expected \$\.\.\.-8`
37         MOVB    x+0(FP), R1 // want `invalid MOVB of x\+0\(FP\); int32 is 4-byte value`
38         MOVB    y+4(FP), R2 // want `invalid MOVB of y\+4\(FP\); uint32 is 4-byte value`
39         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); int32 is 4-byte value`
40         MOVH    y+4(FP), R1 // want `invalid MOVH of y\+4\(FP\); uint32 is 4-byte value`
41         MOVW    x+0(FP), R1
42         MOVW    y+4(FP), R1
43         MOVV    x+0(FP), R1 // want `invalid MOVV of x\+0\(FP\); int32 is 4-byte value`
44         MOVV    y+4(FP), R1 // want `invalid MOVV of y\+4\(FP\); uint32 is 4-byte value`
45         MOVW    x+4(FP), R1 // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
46         MOVW    y+2(FP), R1 // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
47         RET
48
49 TEXT ·arg8(SB),7,$0-2 // want `wrong argument size 2; expected \$\.\.\.-16`
50         MOVB    x+0(FP), R1 // want `invalid MOVB of x\+0\(FP\); int64 is 8-byte value`
51         MOVB    y+8(FP), R2 // want `invalid MOVB of y\+8\(FP\); uint64 is 8-byte value`
52         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); int64 is 8-byte value`
53         MOVH    y+8(FP), R1 // want `invalid MOVH of y\+8\(FP\); uint64 is 8-byte value`
54         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); int64 is 8-byte value`
55         MOVW    y+8(FP), R1 // want `invalid MOVW of y\+8\(FP\); uint64 is 8-byte value`
56         MOVV    x+0(FP), R1
57         MOVV    y+8(FP), R1
58         MOVV    x+8(FP), R1 // want `invalid offset x\+8\(FP\); expected x\+0\(FP\)`
59         MOVV    y+2(FP), R1 // want `invalid offset y\+2\(FP\); expected y\+8\(FP\)`
60         RET
61
62 TEXT ·argint(SB),0,$0-2 // want `wrong argument size 2; expected \$\.\.\.-16`
63         MOVB    x+0(FP), R1 // want `invalid MOVB of x\+0\(FP\); int is 8-byte value`
64         MOVB    y+8(FP), R2 // want `invalid MOVB of y\+8\(FP\); uint is 8-byte value`
65         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); int is 8-byte value`
66         MOVH    y+8(FP), R1 // want `invalid MOVH of y\+8\(FP\); uint is 8-byte value`
67         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); int is 8-byte value`
68         MOVW    y+8(FP), R1 // want `invalid MOVW of y\+8\(FP\); uint is 8-byte value`
69         MOVV    x+0(FP), R1
70         MOVV    y+8(FP), R1
71         MOVV    x+8(FP), R1 // want `invalid offset x\+8\(FP\); expected x\+0\(FP\)`
72         MOVV    y+2(FP), R1 // want `invalid offset y\+2\(FP\); expected y\+8\(FP\)`
73         RET
74
75 TEXT ·argptr(SB),7,$0-2 // want `wrong argument size 2; expected \$\.\.\.-40`
76         MOVB    x+0(FP), R1 // want `invalid MOVB of x\+0\(FP\); \*byte is 8-byte value`
77         MOVB    y+8(FP), R2 // want `invalid MOVB of y\+8\(FP\); \*byte is 8-byte value`
78         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); \*byte is 8-byte value`
79         MOVH    y+8(FP), R1 // want `invalid MOVH of y\+8\(FP\); \*byte is 8-byte value`
80         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); \*byte is 8-byte value`
81         MOVW    y+8(FP), R1 // want `invalid MOVW of y\+8\(FP\); \*byte is 8-byte value`
82         MOVV    x+0(FP), R1
83         MOVV    y+8(FP), R1
84         MOVV    x+8(FP), R1 // want `invalid offset x\+8\(FP\); expected x\+0\(FP\)`
85         MOVV    y+2(FP), R1 // want `invalid offset y\+2\(FP\); expected y\+8\(FP\)`
86         MOVW    c+16(FP), R1 // want `invalid MOVW of c\+16\(FP\); chan int is 8-byte value`
87         MOVW    m+24(FP), R1 // want `invalid MOVW of m\+24\(FP\); map\[int\]int is 8-byte value`
88         MOVW    f+32(FP), R1 // want `invalid MOVW of f\+32\(FP\); func\(\) is 8-byte value`
89         RET
90
91 TEXT ·argstring(SB),0,$32 // want `wrong argument size 0; expected \$\.\.\.-32`
92         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); string base is 8-byte value`
93         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); string base is 8-byte value`
94         MOVV    x+0(FP), R1
95         MOVH    x_base+0(FP), R1 // want `invalid MOVH of x_base\+0\(FP\); string base is 8-byte value`
96         MOVW    x_base+0(FP), R1 // want `invalid MOVW of x_base\+0\(FP\); string base is 8-byte value`
97         MOVV    x_base+0(FP), R1
98         MOVH    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
99         MOVW    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
100         MOVV    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
101         MOVH    x_len+8(FP), R1 // want `invalid MOVH of x_len\+8\(FP\); string len is 8-byte value`
102         MOVW    x_len+8(FP), R1 // want `invalid MOVW of x_len\+8\(FP\); string len is 8-byte value`
103         MOVV    x_len+8(FP), R1
104         MOVV    y+0(FP), R1 // want `invalid offset y\+0\(FP\); expected y\+16\(FP\)`
105         MOVV    y_len+8(FP), R1 // want `invalid offset y_len\+8\(FP\); expected y_len\+24\(FP\)`
106         RET
107
108 TEXT ·argslice(SB),0,$48 // want `wrong argument size 0; expected \$\.\.\.-48`
109         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); slice base is 8-byte value`
110         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); slice base is 8-byte value`
111         MOVV    x+0(FP), R1
112         MOVH    x_base+0(FP), R1 // want `invalid MOVH of x_base\+0\(FP\); slice base is 8-byte value`
113         MOVW    x_base+0(FP), R1 // want `invalid MOVW of x_base\+0\(FP\); slice base is 8-byte value`
114         MOVV    x_base+0(FP), R1
115         MOVH    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
116         MOVW    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
117         MOVV    x_len+0(FP), R1 // want `invalid offset x_len\+0\(FP\); expected x_len\+8\(FP\)`
118         MOVH    x_len+8(FP), R1 // want `invalid MOVH of x_len\+8\(FP\); slice len is 8-byte value`
119         MOVW    x_len+8(FP), R1 // want `invalid MOVW of x_len\+8\(FP\); slice len is 8-byte value`
120         MOVV    x_len+8(FP), R1
121         MOVH    x_cap+0(FP), R1 // want `invalid offset x_cap\+0\(FP\); expected x_cap\+16\(FP\)`
122         MOVW    x_cap+0(FP), R1 // want `invalid offset x_cap\+0\(FP\); expected x_cap\+16\(FP\)`
123         MOVV    x_cap+0(FP), R1 // want `invalid offset x_cap\+0\(FP\); expected x_cap\+16\(FP\)`
124         MOVH    x_cap+16(FP), R1 // want `invalid MOVH of x_cap\+16\(FP\); slice cap is 8-byte value`
125         MOVW    x_cap+16(FP), R1 // want `invalid MOVW of x_cap\+16\(FP\); slice cap is 8-byte value`
126         MOVV    x_cap+16(FP), R1
127         MOVV    y+0(FP), R1 // want `invalid offset y\+0\(FP\); expected y\+24\(FP\)`
128         MOVV    y_len+8(FP), R1 // want `invalid offset y_len\+8\(FP\); expected y_len\+32\(FP\)`
129         MOVV    y_cap+16(FP), R1 // want `invalid offset y_cap\+16\(FP\); expected y_cap\+40\(FP\)`
130         RET
131
132 TEXT ·argiface(SB),0,$0-32
133         MOVH    x+0(FP), R1 // want `invalid MOVH of x\+0\(FP\); interface type is 8-byte value`
134         MOVW    x+0(FP), R1 // want `invalid MOVW of x\+0\(FP\); interface type is 8-byte value`
135         MOVV    x+0(FP), R1
136         MOVH    x_type+0(FP), R1 // want `invalid MOVH of x_type\+0\(FP\); interface type is 8-byte value`
137         MOVW    x_type+0(FP), R1 // want `invalid MOVW of x_type\+0\(FP\); interface type is 8-byte value`
138         MOVV    x_type+0(FP), R1
139         MOVV    x_itable+0(FP), R1 // want `unknown variable x_itable; offset 0 is x_type\+0\(FP\)`
140         MOVV    x_itable+1(FP), R1 // want `unknown variable x_itable; offset 1 is x_type\+0\(FP\)`
141         MOVH    x_data+0(FP), R1 // want `invalid offset x_data\+0\(FP\); expected x_data\+8\(FP\)`
142         MOVW    x_data+0(FP), R1 // want `invalid offset x_data\+0\(FP\); expected x_data\+8\(FP\)`
143         MOVV    x_data+0(FP), R1 // want `invalid offset x_data\+0\(FP\); expected x_data\+8\(FP\)`
144         MOVH    x_data+8(FP), R1 // want `invalid MOVH of x_data\+8\(FP\); interface data is 8-byte value`
145         MOVW    x_data+8(FP), R1 // want `invalid MOVW of x_data\+8\(FP\); interface data is 8-byte value`
146         MOVV    x_data+8(FP), R1
147         MOVH    y+16(FP), R1 // want `invalid MOVH of y\+16\(FP\); interface itable is 8-byte value`
148         MOVW    y+16(FP), R1 // want `invalid MOVW of y\+16\(FP\); interface itable is 8-byte value`
149         MOVV    y+16(FP), R1
150         MOVH    y_itable+16(FP), R1 // want `invalid MOVH of y_itable\+16\(FP\); interface itable is 8-byte value`
151         MOVW    y_itable+16(FP), R1 // want `invalid MOVW of y_itable\+16\(FP\); interface itable is 8-byte value`
152         MOVV    y_itable+16(FP), R1
153         MOVV    y_type+16(FP), R1 // want `unknown variable y_type; offset 16 is y_itable\+16\(FP\)`
154         MOVH    y_data+16(FP), R1 // want `invalid offset y_data\+16\(FP\); expected y_data\+24\(FP\)`
155         MOVW    y_data+16(FP), R1 // want `invalid offset y_data\+16\(FP\); expected y_data\+24\(FP\)`
156         MOVV    y_data+16(FP), R1 // want `invalid offset y_data\+16\(FP\); expected y_data\+24\(FP\)`
157         MOVH    y_data+24(FP), R1 // want `invalid MOVH of y_data\+24\(FP\); interface data is 8-byte value`
158         MOVW    y_data+24(FP), R1 // want `invalid MOVW of y_data\+24\(FP\); interface data is 8-byte value`
159         MOVV    y_data+24(FP), R1
160         RET
161
162 TEXT ·returnint(SB),0,$0-8
163         MOVB    R1, ret+0(FP) // want `invalid MOVB of ret\+0\(FP\); int is 8-byte value`
164         MOVH    R1, ret+0(FP) // want `invalid MOVH of ret\+0\(FP\); int is 8-byte value`
165         MOVW    R1, ret+0(FP) // want `invalid MOVW of ret\+0\(FP\); int is 8-byte value`
166         MOVV    R1, ret+0(FP)
167         MOVV    R1, ret+1(FP) // want `invalid offset ret\+1\(FP\); expected ret\+0\(FP\)`
168         MOVV    R1, r+0(FP) // want `unknown variable r; offset 0 is ret\+0\(FP\)`
169         RET
170
171 TEXT ·returnbyte(SB),0,$0-9
172         MOVV    x+0(FP), R1
173         MOVB    R1, ret+8(FP)
174         MOVH    R1, ret+8(FP) // want `invalid MOVH of ret\+8\(FP\); byte is 1-byte value`
175         MOVW    R1, ret+8(FP) // want `invalid MOVW of ret\+8\(FP\); byte is 1-byte value`
176         MOVV    R1, ret+8(FP) // want `invalid MOVV of ret\+8\(FP\); byte is 1-byte value`
177         MOVB    R1, ret+7(FP) // want `invalid offset ret\+7\(FP\); expected ret\+8\(FP\)`
178         RET
179
180 TEXT ·returnnamed(SB),0,$0-41
181         MOVB    x+0(FP), R1
182         MOVV    R1, r1+8(FP)
183         MOVH    R1, r2+16(FP)
184         MOVV    R1, r3+24(FP)
185         MOVV    R1, r3_base+24(FP)
186         MOVV    R1, r3_len+32(FP)
187         MOVB    R1, r4+40(FP)
188         MOVW    R1, r1+8(FP) // want `invalid MOVW of r1\+8\(FP\); int is 8-byte value`
189         RET
190
191 TEXT ·returnintmissing(SB),0,$0-8
192         RET // want `RET without writing to 8-byte ret\+0\(FP\)`