mirror of
https://github.com/openharmony/ark_runtime_core.git
synced 2026-07-19 21:23:32 -04:00
14c9021696
Signed-off-by: wanyanglan <wanyanglan1@huawei.com> Change-Id: I2564094cef9c6c41263e37faf9ffbbec14223dc7
195 lines
2.9 KiB
Plaintext
195 lines
2.9 KiB
Plaintext
# Copyright (c) 2021 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.
|
|
|
|
.record A {
|
|
u1 kek
|
|
}
|
|
|
|
.function A A.init() {
|
|
newobj v0, A
|
|
lda.obj v0
|
|
|
|
return.obj
|
|
}
|
|
|
|
.function u1 g() {
|
|
mov v0, v1
|
|
mov.64 v2, v3
|
|
mov.obj v4, v5
|
|
|
|
movi v0, -1
|
|
movi.64 v0, 2
|
|
fmovi.64 v0, 3.01
|
|
|
|
lda v1
|
|
lda.64 v0
|
|
lda.obj v1
|
|
|
|
ldai 1
|
|
ldai.64 2
|
|
fldai.64 3.01
|
|
lda.str "kek"
|
|
lda.type A
|
|
lda.null
|
|
|
|
sta v0
|
|
sta.64 v1
|
|
sta.obj v2
|
|
|
|
label:
|
|
jmp label
|
|
|
|
jeq v1, check_v1_eq
|
|
ldai 1
|
|
jmp check_v1_done
|
|
check_v1_eq:
|
|
ldai 0
|
|
check_v1_done:
|
|
cmp.64 v1
|
|
ucmp v2
|
|
ucmp.64 v3
|
|
|
|
fcmpl.64 v1
|
|
fcmpg.64 v1
|
|
|
|
jeqz label
|
|
jnez label
|
|
jltz label
|
|
jgtz label
|
|
jlez label
|
|
jgez label
|
|
|
|
jeq v2, label
|
|
jne v2, label
|
|
jlt v2, label
|
|
jgt v2, label
|
|
jle v2, label
|
|
jge v2, label
|
|
|
|
fadd2.64 v1
|
|
fsub2.64 v1
|
|
fmul2.64 v1
|
|
fdiv2.64 v1
|
|
fmod2.64 v1
|
|
|
|
add2 v2
|
|
add2.64 v2
|
|
sub2 v2
|
|
sub2.64 v2
|
|
mul2 v2
|
|
mul2.64 v2
|
|
and2 v2
|
|
and2.64 v2
|
|
or2 v2
|
|
or2.64 v2
|
|
xor2 v2
|
|
xor2.64 v2
|
|
shl2 v2
|
|
shl2.64 v2
|
|
shr2 v2
|
|
shr2.64 v2
|
|
ashr2 v2
|
|
ashr2.64 v2
|
|
div2 v2
|
|
div2.64 v2
|
|
mod2 v2
|
|
mod2.64 v2
|
|
divu2 v2
|
|
divu2.64 v2
|
|
modu2 v2
|
|
modu2.64 v2
|
|
|
|
add v1, v2
|
|
sub v1, v2
|
|
mul v1, v2
|
|
and v1, v2
|
|
or v1, v2
|
|
xor v1, v2
|
|
shl v1, v2
|
|
shr v1, v2
|
|
ashr v1, v2
|
|
div v1, v2
|
|
mod v1, v2
|
|
|
|
addi 1
|
|
subi 1
|
|
muli 1
|
|
andi 1
|
|
ori 1
|
|
xori 1
|
|
shli 1
|
|
shri 1
|
|
ashri 1
|
|
divi 1
|
|
modi 1
|
|
|
|
neg
|
|
neg.64
|
|
not
|
|
not.64
|
|
|
|
i32tof64
|
|
u32tof64
|
|
i64tof64
|
|
u64tof64
|
|
f64toi32
|
|
f64toi64
|
|
f64tou32
|
|
f64tou64
|
|
i32toi64
|
|
i64toi32
|
|
u32toi64
|
|
|
|
ldarr.8 v1
|
|
ldarru.8 v2
|
|
ldarr.16 v1
|
|
ldarru.16 v1
|
|
ldarr v1
|
|
ldarr.64 v1
|
|
fldarr.32 v1
|
|
fldarr.64 v1
|
|
ldarr.obj v1
|
|
|
|
starr.8 v1, v2
|
|
starr.16 v1, v2
|
|
starr v1, v2
|
|
starr.64 v1, v2
|
|
fstarr.32 v1, v2
|
|
fstarr.64 v1, v2
|
|
starr.obj v1, v2
|
|
|
|
newobj v6, A
|
|
lda.obj v6
|
|
|
|
initobj A.init
|
|
|
|
ldobj v0, A.kek
|
|
ldobj.64 v0, A.kek
|
|
ldobj.obj v0, A.kek
|
|
|
|
stobj v1, A.kek
|
|
stobj.64 v1, A.kek
|
|
stobj.obj v1, A.kek
|
|
|
|
ldstatic A.kek
|
|
ldstatic.64 A.kek
|
|
ldstatic.obj A.kek
|
|
|
|
ststatic A.kek
|
|
ststatic.64 A.kek
|
|
ststatic.obj A.kek
|
|
|
|
checkcast A
|
|
isinstance A
|
|
}
|