• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//===--- BuiltinsARM.def - ARM 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 ARM-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, "v.", "")
19BUILTIN(__builtin_thread_pointer, "v*", "")
20
21// Saturating arithmetic
22BUILTIN(__builtin_arm_qadd, "iii", "nc")
23BUILTIN(__builtin_arm_qsub, "iii", "nc")
24BUILTIN(__builtin_arm_ssat, "iiUi", "nc")
25BUILTIN(__builtin_arm_usat, "UiUiUi", "nc")
26
27// Store and load exclusive doubleword
28BUILTIN(__builtin_arm_ldrexd, "LLUiv*", "")
29BUILTIN(__builtin_arm_strexd, "iLLUiv*", "")
30
31// VFP
32BUILTIN(__builtin_arm_get_fpscr, "Ui", "nc")
33BUILTIN(__builtin_arm_set_fpscr, "vUi", "nc")
34BUILTIN(__builtin_arm_vcvtr_f, "ffi", "nc")
35BUILTIN(__builtin_arm_vcvtr_d, "fdi", "nc")
36
37// Coprocessor
38BUILTIN(__builtin_arm_mcr, "vUiUiUiUiUiUi", "")
39BUILTIN(__builtin_arm_mcr2, "vUiUiUiUiUiUi", "")
40BUILTIN(__builtin_arm_mrc, "UiUiUiUiUiUi", "")
41BUILTIN(__builtin_arm_mrc2, "UiUiUiUiUiUi", "")
42BUILTIN(__builtin_arm_cdp, "vUiUiUiUiUiUi", "")
43BUILTIN(__builtin_arm_cdp2, "vUiUiUiUiUiUi", "")
44BUILTIN(__builtin_arm_mcrr, "vUiUiUiUiUi", "")
45BUILTIN(__builtin_arm_mcrr2, "vUiUiUiUiUi", "")
46
47// NEON
48#define GET_NEON_BUILTINS
49#include "clang/Basic/arm_neon.inc"
50#undef GET_NEON_BUILTINS
51
52#undef BUILTIN
53