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% Compiler::intrinsics.select(&:has_impl?).each do |intrinsic| 18% # dynamic intrinsics doesn't support in inst_generator 19% next if intrinsic.is_dynamic? 20if (EncodesBuiltin(GetGraph()->GetRuntime(), RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>, arch.first)) { 21 EXPECT_TRUE(TryEncode(DataType::<%= intrinsic.return_type %>, RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>, arch.first, true)) 22 << "intrinsic <%= intrinsic.entrypoint_name %>" << ", arch " << arch.second; 23} else { 24% if intrinsic.respond_to? 'codegen_func' 25 // cannot verify <%= intrinsic.entrypoint_name %> behavior because it is not supported by some encoders 26% else 27 // cannot verify <%= intrinsic.entrypoint_name %> behavior in Release build 28#ifndef NDEBUG 29 EXPECT_DEATH( 30 TryEncode(DataType::<%= intrinsic.return_type %>, RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>, arch.first, false), 31 "") // actual expected message is "This line should be unreachable" but sometimes gtest does not capture stderr output 32 << "intrinsic <%= intrinsic.entrypoint_name %>" 33 << ", arch " << arch.second; 34#endif 35% end 36} 37% end 38