| // 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 |
| |
| type I interface{ M() } |
| |
| func NopConvertIface(x I) I { |
| // amd64:-`.*runtime.convI2I` |
| return I(x) |
| } |
| |
| func NopConvertGeneric[T any](x T) T { |
| // amd64:-`.*runtime.convI2I` |
| return T(x) |
| } |
| |
| var NopConvertGenericIface = NopConvertGeneric[I] |
| |
| func ConvToM(x any) I { |
| // amd64:`CALL\truntime.typeAssert`,`MOVL\t16\(.*\)`,`MOVQ\t8\(.*\)(.*\*1)` |
| // arm64:`CALL\truntime.typeAssert`,`LDAR`,`MOVWU`,`MOVD\t\(R.*\)\(R.*\)` |
| return x.(I) |
| } |