# 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. # Assert that operation initobj.range works fine .record R { i32 field1 i32 field2 i32 field3 i32 field4 i32 field5 } .function void R.ctor(R a0, i32 a1, i32 a2, i32 a3, i32 a4, i32 a5) { lda a1 stobj a0, R.field1 lda a2 stobj a0, R.field2 lda a3 stobj a0, R.field3 lda a4 stobj a0, R.field4 lda a5 stobj a0, R.field5 return.void } .function i32 main() { movi v0, 10 movi v1, 20 movi v2, 30 movi v3, 40 movi v4, 50 initobj.range R.ctor, v0 sta.obj v5 ldobj v5, R.field1 jne v0, error1 ldobj v5, R.field2 jne v1, error2 ldobj v5, R.field3 jne v2, error3 ldobj v5, R.field4 jne v3, error4 ldobj v5, R.field5 jne v4, error5 ldai 0 return error1: ldai 1 return error2: ldai 2 return error3: ldai 3 return error4: ldai 4 return error5: ldai 5 return }