• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16// Autogenerated file -- DO NOT EDIT!
17
18// NOLINTNEXTLINE(readability-function-size)
19void Codegen::FillBuiltin(IntrinsicInst *inst, SRCREGS src, Reg dst, RegMask *lvrmask)
20{
21    auto entrypoint = inst->GetIntrinsicId();
22    auto emit_event = true;
23    switch (entrypoint) {
24% Compiler::intrinsics.select {|intrinsic| intrinsic.respond_to? 'codegen_func'}.each do |intrinsic|
25        case RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>:
26            <%= intrinsic.codegen_func %>(inst, dst, src, lvrmask);
27%   if intrinsic.class_name == "Irtoc"
28            emit_event = false;
29%   end
30            break;
31% end
32        default: {
33            UNREACHABLE();
34            break;
35        }
36    }
37    if (!GetEncoder()->GetResult() && emit_event) {
38        EVENT_INTRINSIC_COMPILATION("", \
39                                    events::IntrinsicCompilationResult::INLINE_FAILED);
40    }
41}
42