• 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
14def cmp_opcode(imm)
15  if imm <= 255
16    return "cmp r6, ##{imm}"
17  end
18  # We need to save imm to temporary register before cmp,
19  # because it is too large for ARM instruction format
20  return "mov r9, ##{imm}
21    cmp r6, r9"
22end
23
24def jump_eq(target)
25  return "beq #{target}"
26end
27
28def jump(target)
29  return "b #{target}"
30end
31
32def save_param(value)
33  return "mov r9, ##{value}"
34end
35
36def handler_path(name)
37  return "bridge/arch/arm/handle_#{name}_arm.S"
38end
39