• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14
15#! CHECKER      Stack parameters in OSR
16#! RUN          options: "--no-async-jit --compiler-hotness-threshold=10", entry: "_GLOBAL::main2"
17#! EVENT        /OsrEntry,_GLOBAL::bar,.*,AFTER_IFRAME,SUCCESS/
18
19.function i64 bar(i64 a0, i64 a1, i64 a2, i64 a3, i64 a4, i64 a5, i64 a6, i64 a7, i64 a8, i64 a9, i64 a10, i64 a11, i64 a12, i64 a13, i64 a14, i64 a15, i64 a16, i64 a17, i64 a18, i64 a19) {
20    movi.64 v1, 0
21    movi.64 v2, 100
22    movi.64 v3, 0
23
24loop:
25    lda.64 v3
26    add2.64 a0
27    add2.64 a1
28    add2.64 a2
29    add2.64 a3
30    add2.64 a4
31    add2.64 a5
32    add2.64 a6
33    add2.64 a7
34    add2.64 a8
35    add2.64 a9
36    add2.64 a10
37    add2.64 a11
38    add2.64 a12
39    add2.64 a13
40    add2.64 a14
41    add2.64 a15
42    add2.64 a16
43    add2.64 a17
44    add2.64 a18
45    add2.64 a19
46    sta.64 v3
47
48    inci v1, 1
49    lda.64 v1
50    jge v2, exit
51
52    jmp loop
53exit:
54
55    lda v3
56    return.64
57}
58
59.function i64 main2() {
60    movi.64 v0, 1
61    movi.64 v1, 2
62    movi.64 v2, 3
63    movi.64 v3, 4
64    movi.64 v4, 5
65    movi.64 v5, 6
66    movi.64 v6, 7
67    movi.64 v7, 8
68    movi.64 v8, 9
69    movi.64 v9, 10
70    movi.64 v10, 11
71    movi.64 v11, 12
72    movi.64 v12, 13
73    movi.64 v13, 14
74    movi.64 v14, 15
75    movi.64 v15, 16
76    movi.64 v16, 17
77    movi.64 v17, 18
78    movi.64 v18, 19
79    movi.64 v19, 20
80
81    call.range bar, v0
82
83    add2.64 v0
84    add2.64 v1
85    add2.64 v2
86    add2.64 v3
87    add2.64 v4
88    add2.64 v5
89    add2.64 v6
90    add2.64 v7
91    add2.64 v8
92    add2.64 v9
93    add2.64 v10
94    add2.64 v11
95    add2.64 v12
96    add2.64 v13
97    add2.64 v14
98    add2.64 v15
99    add2.64 v16
100    add2.64 v17
101    add2.64 v18
102    add2.64 v19
103
104    movi.64 v0, 21210
105    jeq v0, success
106
107    ldai 1
108    return.64
109success:
110    ldai 0
111    return.64
112}
113