github.com/powerman/golang-tools@v0.1.11-0.20220410185822-5ad214d8d803/go/analysis/passes/asmdecl/testdata/src/a/asm2.s (about)

     1  // Copyright 2013 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 386
     6  
     7  TEXT ·arg1(SB),0,$0-2
     8  	MOVB	x+0(FP), AX
     9  	MOVB	y+1(FP), BX
    10  	MOVW	x+0(FP), AX // want `\[386\] arg1: invalid MOVW of x\+0\(FP\); int8 is 1-byte value`
    11  	MOVW	y+1(FP), AX // want `invalid MOVW of y\+1\(FP\); uint8 is 1-byte value`
    12  	MOVL	x+0(FP), AX // want `invalid MOVL of x\+0\(FP\); int8 is 1-byte value`
    13  	MOVL	y+1(FP), AX // want `invalid MOVL of y\+1\(FP\); uint8 is 1-byte value`
    14  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); int8 is 1-byte value`
    15  	MOVQ	y+1(FP), AX // want `invalid MOVQ of y\+1\(FP\); uint8 is 1-byte value`
    16  	MOVB	x+1(FP), AX // want `invalid offset x\+1\(FP\); expected x\+0\(FP\)`
    17  	MOVB	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+1\(FP\)`
    18  	TESTB	x+0(FP), AX
    19  	TESTB	y+1(FP), BX
    20  	TESTW	x+0(FP), AX // want `invalid TESTW of x\+0\(FP\); int8 is 1-byte value`
    21  	TESTW	y+1(FP), AX // want `invalid TESTW of y\+1\(FP\); uint8 is 1-byte value`
    22  	TESTL	x+0(FP), AX // want `invalid TESTL of x\+0\(FP\); int8 is 1-byte value`
    23  	TESTL	y+1(FP), AX // want `invalid TESTL of y\+1\(FP\); uint8 is 1-byte value`
    24  	TESTQ	x+0(FP), AX // want `invalid TESTQ of x\+0\(FP\); int8 is 1-byte value`
    25  	TESTQ	y+1(FP), AX // want `invalid TESTQ of y\+1\(FP\); uint8 is 1-byte value`
    26  	TESTB	x+1(FP), AX // want `invalid offset x\+1\(FP\); expected x\+0\(FP\)`
    27  	TESTB	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+1\(FP\)`
    28  	MOVB	4(SP), AX // want `4\(SP\) should be x\+0\(FP\)`
    29  	MOVB	5(SP), AX // want `5\(SP\) should be y\+1\(FP\)`
    30  	MOVB	6(SP), AX // want `use of 6\(SP\) points beyond argument frame`
    31  	RET
    32  
    33  TEXT ·arg2(SB),0,$0-4
    34  	MOVB	x+0(FP), AX // want `arg2: invalid MOVB of x\+0\(FP\); int16 is 2-byte value`
    35  	MOVB	y+2(FP), AX // want `invalid MOVB of y\+2\(FP\); uint16 is 2-byte value`
    36  	MOVW	x+0(FP), AX
    37  	MOVW	y+2(FP), BX
    38  	MOVL	x+0(FP), AX // want `invalid MOVL of x\+0\(FP\); int16 is 2-byte value`
    39  	MOVL	y+2(FP), AX // want `invalid MOVL of y\+2\(FP\); uint16 is 2-byte value`
    40  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); int16 is 2-byte value`
    41  	MOVQ	y+2(FP), AX // want `invalid MOVQ of y\+2\(FP\); uint16 is 2-byte value`
    42  	MOVW	x+2(FP), AX // want `invalid offset x\+2\(FP\); expected x\+0\(FP\)`
    43  	MOVW	y+0(FP), AX // want `invalid offset y\+0\(FP\); expected y\+2\(FP\)`
    44  	TESTB	x+0(FP), AX // want `invalid TESTB of x\+0\(FP\); int16 is 2-byte value`
    45  	TESTB	y+2(FP), AX // want `invalid TESTB of y\+2\(FP\); uint16 is 2-byte value`
    46  	TESTW	x+0(FP), AX
    47  	TESTW	y+2(FP), BX
    48  	TESTL	x+0(FP), AX // want `invalid TESTL of x\+0\(FP\); int16 is 2-byte value`
    49  	TESTL	y+2(FP), AX // want `invalid TESTL of y\+2\(FP\); uint16 is 2-byte value`
    50  	TESTQ	x+0(FP), AX // want `invalid TESTQ of x\+0\(FP\); int16 is 2-byte value`
    51  	TESTQ	y+2(FP), AX // want `invalid TESTQ of y\+2\(FP\); uint16 is 2-byte value`
    52  	TESTW	x+2(FP), AX // want `invalid offset x\+2\(FP\); expected x\+0\(FP\)`
    53  	TESTW	y+0(FP), AX // want `invalid offset y\+0\(FP\); expected y\+2\(FP\)`
    54  	RET
    55  
    56  TEXT ·arg4(SB),0,$0-2 // want `arg4: wrong argument size 2; expected \$\.\.\.-8`
    57  	MOVB	x+0(FP), AX // want `invalid MOVB of x\+0\(FP\); int32 is 4-byte value`
    58  	MOVB	y+4(FP), BX // want `invalid MOVB of y\+4\(FP\); uint32 is 4-byte value`
    59  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); int32 is 4-byte value`
    60  	MOVW	y+4(FP), AX // want `invalid MOVW of y\+4\(FP\); uint32 is 4-byte value`
    61  	MOVL	x+0(FP), AX
    62  	MOVL	y+4(FP), AX
    63  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); int32 is 4-byte value`
    64  	MOVQ	y+4(FP), AX // want `invalid MOVQ of y\+4\(FP\); uint32 is 4-byte value`
    65  	MOVL	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
    66  	MOVL	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
    67  	TESTB	x+0(FP), AX // want `invalid TESTB of x\+0\(FP\); int32 is 4-byte value`
    68  	TESTB	y+4(FP), BX // want `invalid TESTB of y\+4\(FP\); uint32 is 4-byte value`
    69  	TESTW	x+0(FP), AX // want `invalid TESTW of x\+0\(FP\); int32 is 4-byte value`
    70  	TESTW	y+4(FP), AX // want `invalid TESTW of y\+4\(FP\); uint32 is 4-byte value`
    71  	TESTL	x+0(FP), AX
    72  	TESTL	y+4(FP), AX
    73  	TESTQ	x+0(FP), AX // want `invalid TESTQ of x\+0\(FP\); int32 is 4-byte value`
    74  	TESTQ	y+4(FP), AX // want `invalid TESTQ of y\+4\(FP\); uint32 is 4-byte value`
    75  	TESTL	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
    76  	TESTL	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
    77  	RET
    78  
    79  TEXT ·arg8(SB),7,$0-2 // want `wrong argument size 2; expected \$\.\.\.-16`
    80  	MOVB	x+0(FP), AX // want `invalid MOVB of x\+0\(FP\); int64 is 8-byte value`
    81  	MOVB	y+8(FP), BX // want `invalid MOVB of y\+8\(FP\); uint64 is 8-byte value`
    82  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); int64 is 8-byte value`
    83  	MOVW	y+8(FP), AX // want `invalid MOVW of y\+8\(FP\); uint64 is 8-byte value`
    84  	MOVL	x+0(FP), AX // want `invalid MOVL of x\+0\(FP\); int64 is 8-byte value containing x_lo\+0\(FP\) and x_hi\+4\(FP\)`
    85  	MOVL	x_lo+0(FP), AX
    86  	MOVL	x_hi+4(FP), AX
    87  	MOVL	y+8(FP), AX // want `invalid MOVL of y\+8\(FP\); uint64 is 8-byte value containing y_lo\+8\(FP\) and y_hi\+12\(FP\)`
    88  	MOVL	y_lo+8(FP), AX
    89  	MOVL	y_hi+12(FP), AX
    90  	MOVQ	x+0(FP), AX
    91  	MOVQ	y+8(FP), AX
    92  	MOVQ	x+8(FP), AX // want `invalid offset x\+8\(FP\); expected x\+0\(FP\)`
    93  	MOVQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+8\(FP\)`
    94  	TESTB	x+0(FP), AX // want `invalid TESTB of x\+0\(FP\); int64 is 8-byte value`
    95  	TESTB	y+8(FP), BX // want `invalid TESTB of y\+8\(FP\); uint64 is 8-byte value`
    96  	TESTW	x+0(FP), AX // want `invalid TESTW of x\+0\(FP\); int64 is 8-byte value`
    97  	TESTW	y+8(FP), AX // want `invalid TESTW of y\+8\(FP\); uint64 is 8-byte value`
    98  	TESTL	x+0(FP), AX // want `invalid TESTL of x\+0\(FP\); int64 is 8-byte value containing x_lo\+0\(FP\) and x_hi\+4\(FP\)`
    99  	TESTL	y+8(FP), AX // want `invalid TESTL of y\+8\(FP\); uint64 is 8-byte value containing y_lo\+8\(FP\) and y_hi\+12\(FP\)`
   100  	TESTQ	x+0(FP), AX
   101  	TESTQ	y+8(FP), AX
   102  	TESTQ	x+8(FP), AX // want `invalid offset x\+8\(FP\); expected x\+0\(FP\)`
   103  	TESTQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+8\(FP\)`
   104  	RET
   105  
   106  TEXT ·argint(SB),0,$0-2 // want `wrong argument size 2; expected \$\.\.\.-8`
   107  	MOVB	x+0(FP), AX // want `invalid MOVB of x\+0\(FP\); int is 4-byte value`
   108  	MOVB	y+4(FP), BX // want `invalid MOVB of y\+4\(FP\); uint is 4-byte value`
   109  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); int is 4-byte value`
   110  	MOVW	y+4(FP), AX // want `invalid MOVW of y\+4\(FP\); uint is 4-byte value`
   111  	MOVL	x+0(FP), AX
   112  	MOVL	y+4(FP), AX
   113  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); int is 4-byte value`
   114  	MOVQ	y+4(FP), AX // want `invalid MOVQ of y\+4\(FP\); uint is 4-byte value`
   115  	MOVQ	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
   116  	MOVQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
   117  	TESTB	x+0(FP), AX // want `invalid TESTB of x\+0\(FP\); int is 4-byte value`
   118  	TESTB	y+4(FP), BX // want `invalid TESTB of y\+4\(FP\); uint is 4-byte value`
   119  	TESTW	x+0(FP), AX // want `invalid TESTW of x\+0\(FP\); int is 4-byte value`
   120  	TESTW	y+4(FP), AX // want `invalid TESTW of y\+4\(FP\); uint is 4-byte value`
   121  	TESTL	x+0(FP), AX
   122  	TESTL	y+4(FP), AX
   123  	TESTQ	x+0(FP), AX // want `invalid TESTQ of x\+0\(FP\); int is 4-byte value`
   124  	TESTQ	y+4(FP), AX // want `invalid TESTQ of y\+4\(FP\); uint is 4-byte value`
   125  	TESTQ	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
   126  	TESTQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
   127  	RET
   128  
   129  TEXT ·argptr(SB),7,$0-2 // want `wrong argument size 2; expected \$\.\.\.-20`
   130  	MOVB	x+0(FP), AX // want `invalid MOVB of x\+0\(FP\); \*byte is 4-byte value`
   131  	MOVB	y+4(FP), BX // want `invalid MOVB of y\+4\(FP\); \*byte is 4-byte value`
   132  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); \*byte is 4-byte value`
   133  	MOVW	y+4(FP), AX // want `invalid MOVW of y\+4\(FP\); \*byte is 4-byte value`
   134  	MOVL	x+0(FP), AX
   135  	MOVL	y+4(FP), AX
   136  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); \*byte is 4-byte value`
   137  	MOVQ	y+4(FP), AX // want `invalid MOVQ of y\+4\(FP\); \*byte is 4-byte value`
   138  	MOVQ	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
   139  	MOVQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
   140  	TESTB	x+0(FP), AX // want `invalid TESTB of x\+0\(FP\); \*byte is 4-byte value`
   141  	TESTB	y+4(FP), BX // want `invalid TESTB of y\+4\(FP\); \*byte is 4-byte value`
   142  	TESTW	x+0(FP), AX // want `invalid TESTW of x\+0\(FP\); \*byte is 4-byte value`
   143  	TESTW	y+4(FP), AX // want `invalid TESTW of y\+4\(FP\); \*byte is 4-byte value`
   144  	TESTL	x+0(FP), AX
   145  	TESTL	y+4(FP), AX
   146  	TESTQ	x+0(FP), AX // want `invalid TESTQ of x\+0\(FP\); \*byte is 4-byte value`
   147  	TESTQ	y+4(FP), AX // want `invalid TESTQ of y\+4\(FP\); \*byte is 4-byte value`
   148  	TESTQ	x+4(FP), AX // want `invalid offset x\+4\(FP\); expected x\+0\(FP\)`
   149  	TESTQ	y+2(FP), AX // want `invalid offset y\+2\(FP\); expected y\+4\(FP\)`
   150  	MOVW	c+8(FP), AX // want `invalid MOVW of c\+8\(FP\); chan int is 4-byte value`
   151  	MOVW	m+12(FP), AX // want `invalid MOVW of m\+12\(FP\); map\[int\]int is 4-byte value`
   152  	MOVW	f+16(FP), AX // want `invalid MOVW of f\+16\(FP\); func\(\) is 4-byte value`
   153  	RET
   154  
   155  TEXT ·argstring(SB),0,$16 // want `wrong argument size 0; expected \$\.\.\.-16`
   156  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); string base is 4-byte value`
   157  	MOVL	x+0(FP), AX
   158  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); string base is 4-byte value`
   159  	MOVW	x_base+0(FP), AX // want `invalid MOVW of x_base\+0\(FP\); string base is 4-byte value`
   160  	MOVL	x_base+0(FP), AX
   161  	MOVQ	x_base+0(FP), AX // want `invalid MOVQ of x_base\+0\(FP\); string base is 4-byte value`
   162  	MOVW	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   163  	MOVL	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   164  	MOVQ	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   165  	MOVW	x_len+4(FP), AX // want `invalid MOVW of x_len\+4\(FP\); string len is 4-byte value`
   166  	MOVL	x_len+4(FP), AX
   167  	MOVQ	x_len+4(FP), AX // want `invalid MOVQ of x_len\+4\(FP\); string len is 4-byte value`
   168  	MOVQ	y+0(FP), AX // want `invalid offset y\+0\(FP\); expected y\+8\(FP\)`
   169  	MOVQ	y_len+4(FP), AX // want `invalid offset y_len\+4\(FP\); expected y_len\+12\(FP\)`
   170  	RET
   171  
   172  TEXT ·argslice(SB),0,$24 // want `wrong argument size 0; expected \$\.\.\.-24`
   173  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); slice base is 4-byte value`
   174  	MOVL	x+0(FP), AX
   175  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); slice base is 4-byte value`
   176  	MOVW	x_base+0(FP), AX // want `invalid MOVW of x_base\+0\(FP\); slice base is 4-byte value`
   177  	MOVL	x_base+0(FP), AX
   178  	MOVQ	x_base+0(FP), AX // want `invalid MOVQ of x_base\+0\(FP\); slice base is 4-byte value`
   179  	MOVW	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   180  	MOVL	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   181  	MOVQ	x_len+0(FP), AX // want `invalid offset x_len\+0\(FP\); expected x_len\+4\(FP\)`
   182  	MOVW	x_len+4(FP), AX // want `invalid MOVW of x_len\+4\(FP\); slice len is 4-byte value`
   183  	MOVL	x_len+4(FP), AX
   184  	MOVQ	x_len+4(FP), AX // want `invalid MOVQ of x_len\+4\(FP\); slice len is 4-byte value`
   185  	MOVW	x_cap+0(FP), AX // want `invalid offset x_cap\+0\(FP\); expected x_cap\+8\(FP\)`
   186  	MOVL	x_cap+0(FP), AX // want `invalid offset x_cap\+0\(FP\); expected x_cap\+8\(FP\)`
   187  	MOVQ	x_cap+0(FP), AX // want `invalid offset x_cap\+0\(FP\); expected x_cap\+8\(FP\)`
   188  	MOVW	x_cap+8(FP), AX // want `invalid MOVW of x_cap\+8\(FP\); slice cap is 4-byte value`
   189  	MOVL	x_cap+8(FP), AX
   190  	MOVQ	x_cap+8(FP), AX // want `invalid MOVQ of x_cap\+8\(FP\); slice cap is 4-byte value`
   191  	MOVQ	y+0(FP), AX // want `invalid offset y\+0\(FP\); expected y\+12\(FP\)`
   192  	MOVQ	y_len+4(FP), AX // want `invalid offset y_len\+4\(FP\); expected y_len\+16\(FP\)`
   193  	MOVQ	y_cap+8(FP), AX // want `invalid offset y_cap\+8\(FP\); expected y_cap\+20\(FP\)`
   194  	RET
   195  
   196  TEXT ·argiface(SB),0,$0-16
   197  	MOVW	x+0(FP), AX // want `invalid MOVW of x\+0\(FP\); interface type is 4-byte value`
   198  	MOVL	x+0(FP), AX
   199  	MOVQ	x+0(FP), AX // want `invalid MOVQ of x\+0\(FP\); interface type is 4-byte value`
   200  	MOVW	x_type+0(FP), AX // want `invalid MOVW of x_type\+0\(FP\); interface type is 4-byte value`
   201  	MOVL	x_type+0(FP), AX
   202  	MOVQ	x_type+0(FP), AX // want `invalid MOVQ of x_type\+0\(FP\); interface type is 4-byte value`
   203  	MOVQ	x_itable+0(FP), AX // want `unknown variable x_itable; offset 0 is x_type\+0\(FP\)`
   204  	MOVQ	x_itable+1(FP), AX // want `unknown variable x_itable; offset 1 is x_type\+0\(FP\)`
   205  	MOVW	x_data+0(FP), AX // want `invalid offset x_data\+0\(FP\); expected x_data\+4\(FP\)`
   206  	MOVL	x_data+0(FP), AX // want `invalid offset x_data\+0\(FP\); expected x_data\+4\(FP\)`
   207  	MOVQ	x_data+0(FP), AX // want `invalid offset x_data\+0\(FP\); expected x_data\+4\(FP\)`
   208  	MOVW	x_data+4(FP), AX // want `invalid MOVW of x_data\+4\(FP\); interface data is 4-byte value`
   209  	MOVL	x_data+4(FP), AX
   210  	MOVQ	x_data+4(FP), AX // want `invalid MOVQ of x_data\+4\(FP\); interface data is 4-byte value`
   211  	MOVW	y+8(FP), AX // want `invalid MOVW of y\+8\(FP\); interface itable is 4-byte value`
   212  	MOVL	y+8(FP), AX
   213  	MOVQ	y+8(FP), AX // want `invalid MOVQ of y\+8\(FP\); interface itable is 4-byte value`
   214  	MOVW	y_itable+8(FP), AX // want `invalid MOVW of y_itable\+8\(FP\); interface itable is 4-byte value`
   215  	MOVL	y_itable+8(FP), AX
   216  	MOVQ	y_itable+8(FP), AX // want `invalid MOVQ of y_itable\+8\(FP\); interface itable is 4-byte value`
   217  	MOVQ	y_type+8(FP), AX // want `unknown variable y_type; offset 8 is y_itable\+8\(FP\)`
   218  	MOVW	y_data+8(FP), AX // want `invalid offset y_data\+8\(FP\); expected y_data\+12\(FP\)`
   219  	MOVL	y_data+8(FP), AX // want `invalid offset y_data\+8\(FP\); expected y_data\+12\(FP\)`
   220  	MOVQ	y_data+8(FP), AX // want `invalid offset y_data\+8\(FP\); expected y_data\+12\(FP\)`
   221  	MOVW	y_data+12(FP), AX // want `invalid MOVW of y_data\+12\(FP\); interface data is 4-byte value`
   222  	MOVL	y_data+12(FP), AX
   223  	MOVQ	y_data+12(FP), AX // want `invalid MOVQ of y_data\+12\(FP\); interface data is 4-byte value`
   224  	RET
   225  
   226  TEXT ·returnint(SB),0,$0-4
   227  	MOVB	AX, ret+0(FP) // want `invalid MOVB of ret\+0\(FP\); int is 4-byte value`
   228  	MOVW	AX, ret+0(FP) // want `invalid MOVW of ret\+0\(FP\); int is 4-byte value`
   229  	MOVL	AX, ret+0(FP)
   230  	MOVQ	AX, ret+0(FP) // want `invalid MOVQ of ret\+0\(FP\); int is 4-byte value`
   231  	MOVQ	AX, ret+1(FP) // want `invalid offset ret\+1\(FP\); expected ret\+0\(FP\)`
   232  	MOVQ	AX, r+0(FP) // want `unknown variable r; offset 0 is ret\+0\(FP\)`
   233  	RET
   234  
   235  TEXT ·returnbyte(SB),0,$0-5
   236  	MOVL	x+0(FP), AX
   237  	MOVB	AX, ret+4(FP)
   238  	MOVW	AX, ret+4(FP) // want `invalid MOVW of ret\+4\(FP\); byte is 1-byte value`
   239  	MOVL	AX, ret+4(FP) // want `invalid MOVL of ret\+4\(FP\); byte is 1-byte value`
   240  	MOVQ	AX, ret+4(FP) // want `invalid MOVQ of ret\+4\(FP\); byte is 1-byte value`
   241  	MOVB	AX, ret+3(FP) // want `invalid offset ret\+3\(FP\); expected ret\+4\(FP\)`
   242  	RET
   243  
   244  TEXT ·returnnamed(SB),0,$0-21
   245  	MOVB	x+0(FP), AX
   246  	MOVL	AX, r1+4(FP)
   247  	MOVW	AX, r2+8(FP)
   248  	MOVL	AX, r3+12(FP)
   249  	MOVL	AX, r3_base+12(FP)
   250  	MOVL	AX, r3_len+16(FP)
   251  	MOVB	AX, r4+20(FP)
   252  	MOVQ	AX, r1+4(FP) // want `invalid MOVQ of r1\+4\(FP\); int is 4-byte value`
   253  	RET
   254  
   255  TEXT ·returnintmissing(SB),0,$0-4
   256  	RET // want `RET without writing to 4-byte ret\+0\(FP\)`