# Copyright (c) 2021-2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. .function i32 foo(i32 a0, i32 a1) { lda a0 return } .function i32 bar(i32 a0, i32 a1) { lda a1 return } .function i32 first(i32 a0, i32 a1, i32 a2, i32 a3) { lda a0 return } .function i32 second(i32 a0, i32 a1, i32 a2, i32 a3) { lda a1 return } .function i32 third(i32 a0, i32 a1, i32 a2, i32 a3) { lda a2 return } .function i32 fourth(i32 a0, i32 a1, i32 a2, i32 a3) { lda a3 return } .function i32 main() { ldai 0 movi v0, 1 call.acc.short foo, v0, 0x0 jnez fail call.acc.short bar, v0, 0x1 jnez fail call.acc first, v0, v0, v0, 0x0 jnez fail call.acc second, v0, v0, v0, 0x1 jnez fail call.acc third, v0, v0, v0, 0x2 jnez fail call.acc fourth, v0, v0, v0, 0x3 jnez fail return fail: ldai 1 return }