1//==- BuiltinsAMDGPU.def - AMDGPU 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 AMDGPU-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
17BUILTIN(__builtin_amdgcn_s_barrier, "v", "n")
18BUILTIN(__builtin_amdgcn_div_scale, "dddbb*", "n")
19BUILTIN(__builtin_amdgcn_div_scalef, "fffbb*", "n")
20BUILTIN(__builtin_amdgcn_div_fmas, "ddddb", "nc")
21BUILTIN(__builtin_amdgcn_div_fmasf, "ffffb", "nc")
22BUILTIN(__builtin_amdgcn_div_fixup, "dddd", "nc")
23BUILTIN(__builtin_amdgcn_div_fixupf, "ffff", "nc")
24BUILTIN(__builtin_amdgcn_trig_preop, "ddi", "nc")
25BUILTIN(__builtin_amdgcn_trig_preopf, "ffi", "nc")
26BUILTIN(__builtin_amdgcn_rcp, "dd", "nc")
27BUILTIN(__builtin_amdgcn_rcpf, "ff", "nc")
28BUILTIN(__builtin_amdgcn_rsq, "dd", "nc")
29BUILTIN(__builtin_amdgcn_rsqf, "ff", "nc")
30BUILTIN(__builtin_amdgcn_rsq_clamp, "dd", "nc")
31BUILTIN(__builtin_amdgcn_rsq_clampf, "ff", "nc")
32BUILTIN(__builtin_amdgcn_sinf, "ff", "nc")
33BUILTIN(__builtin_amdgcn_cosf, "ff", "nc")
34BUILTIN(__builtin_amdgcn_log_clampf, "ff", "nc")
35BUILTIN(__builtin_amdgcn_ldexp, "ddi", "nc")
36BUILTIN(__builtin_amdgcn_ldexpf, "ffi", "nc")
37BUILTIN(__builtin_amdgcn_class, "bdi", "nc")
38BUILTIN(__builtin_amdgcn_classf, "bfi", "nc")
39BUILTIN(__builtin_amdgcn_cubeid, "ffff", "nc")
40BUILTIN(__builtin_amdgcn_cubesc, "ffff", "nc")
41BUILTIN(__builtin_amdgcn_cubetc, "ffff", "nc")
42BUILTIN(__builtin_amdgcn_cubema, "ffff", "nc")
43BUILTIN(__builtin_amdgcn_s_memtime, "LUi", "n")
44BUILTIN(__builtin_amdgcn_s_sleep, "vIi", "n")
45
46//===----------------------------------------------------------------------===//
47// VI+ only builtins.
48//===----------------------------------------------------------------------===//
49BUILTIN(__builtin_amdgcn_s_memrealtime, "LUi", "n")
50
51//===----------------------------------------------------------------------===//
52// Legacy names with amdgpu prefix
53//===----------------------------------------------------------------------===//
54
55BUILTIN(__builtin_amdgpu_rsq, "dd", "nc")
56BUILTIN(__builtin_amdgpu_rsqf, "ff", "nc")
57BUILTIN(__builtin_amdgpu_ldexp, "ddi", "nc")
58BUILTIN(__builtin_amdgpu_ldexpf, "ffi", "nc")
59
60#undef BUILTIN
61