1//==- BuiltinsAArch64.def - AArch64 Builtin function database ----*- C++ -*-==// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines the AArch64-specific builtin function database. Users of 11// this file must define the BUILTIN macro to make use of this information. 12// 13//===----------------------------------------------------------------------===// 14 15// The format of this database matches clang/Basic/Builtins.def. 16 17// In libgcc 18BUILTIN(__clear_cache, "vv*v*", "i") 19 20BUILTIN(__builtin_arm_ldrex, "v.", "t") 21BUILTIN(__builtin_arm_ldaex, "v.", "t") 22BUILTIN(__builtin_arm_strex, "i.", "t") 23BUILTIN(__builtin_arm_stlex, "i.", "t") 24BUILTIN(__builtin_arm_clrex, "v", "") 25 26// Bit manipulation 27BUILTIN(__builtin_arm_rbit, "UiUi", "nc") 28BUILTIN(__builtin_arm_rbit64, "LUiLUi", "nc") 29 30// CRC32 31BUILTIN(__builtin_arm_crc32b, "UiUiUc", "nc") 32BUILTIN(__builtin_arm_crc32cb, "UiUiUc", "nc") 33BUILTIN(__builtin_arm_crc32h, "UiUiUs", "nc") 34BUILTIN(__builtin_arm_crc32ch, "UiUiUs", "nc") 35BUILTIN(__builtin_arm_crc32w, "UiUiUi", "nc") 36BUILTIN(__builtin_arm_crc32cw, "UiUiUi", "nc") 37BUILTIN(__builtin_arm_crc32d, "UiUiLUi", "nc") 38BUILTIN(__builtin_arm_crc32cd, "UiUiLUi", "nc") 39 40#undef BUILTIN 41