-
Notifications
You must be signed in to change notification settings - Fork 17.8k
Expand file tree
/
Copy pathspirv-target-host-adaptation.cpp
More file actions
70 lines (62 loc) · 2.93 KB
/
Copy pathspirv-target-host-adaptation.cpp
File metadata and controls
70 lines (62 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/// Tests SPIR-V device target adaptation of SizeType, PtrDiffType, and
/// IntPtrType from the host target via -aux-triple.
// RUN: %clang_cc1 -triple spirv64-unknown-unknown -aux-triple x86_64-unknown-linux-gnu \
// RUN: -fsycl-is-device -E -dM %s | FileCheck --check-prefix=LINUX64 %s
// RUN: %clang_cc1 -triple spirv64-unknown-unknown -aux-triple x86_64-pc-windows-msvc \
// RUN: -fsycl-is-device -E -dM %s | FileCheck --check-prefix=WIN64 %s
// RUN: %clang_cc1 -triple spirv32-unknown-unknown -aux-triple i386-unknown-linux-gnu \
// RUN: -fsycl-is-device -E -dM %s | FileCheck --check-prefix=LINUX32 %s
// RUN: %clang_cc1 -triple spirv64-unknown-unknown \
// RUN: -fsycl-is-device -E -dM %s | FileCheck --check-prefix=NOHOST64 %s
// RUN: %clang_cc1 -triple spirv32-unknown-unknown \
// RUN: -fsycl-is-device -E -dM %s | FileCheck --check-prefix=NOHOST32 %s
// Linux x86_64 host (LP64)
// LINUX64-DAG: #define __SIZE_TYPE__ long unsigned int
// LINUX64-DAG: #define __PTRDIFF_TYPE__ long int
// LINUX64-DAG: #define __INTPTR_TYPE__ long int
// LINUX64-DAG: #define __SIZEOF_SIZE_T__ 8
// LINUX64-DAG: #define __SIZEOF_PTRDIFF_T__ 8
// LINUX64-DAG: #define __SIZEOF_LONG__ 8
// LINUX64-DAG: #define __SIZEOF_POINTER__ 8
// Windows x86_64 host (LLP64)
// WIN64-DAG: #define __SIZE_TYPE__ long long unsigned int
// WIN64-DAG: #define __PTRDIFF_TYPE__ long long int
// WIN64-DAG: #define __INTPTR_TYPE__ long long int
// WIN64-DAG: #define __SIZEOF_SIZE_T__ 8
// WIN64-DAG: #define __SIZEOF_PTRDIFF_T__ 8
// WIN64-DAG: #define __SIZEOF_LONG__ 4
// WIN64-DAG: #define __SIZEOF_POINTER__ 8
// Linux i386 host (ILP32)
// LINUX32-DAG: #define __SIZE_TYPE__ unsigned int
// LINUX32-DAG: #define __PTRDIFF_TYPE__ int
// LINUX32-DAG: #define __INTPTR_TYPE__ int
// LINUX32-DAG: #define __SIZEOF_SIZE_T__ 4
// LINUX32-DAG: #define __SIZEOF_PTRDIFF_T__ 4
// LINUX32-DAG: #define __SIZEOF_POINTER__ 4
// No host (SPIRV64 defaults)
// NOHOST64-DAG: #define __SIZE_TYPE__ long unsigned int
// NOHOST64-DAG: #define __PTRDIFF_TYPE__ long int
// NOHOST64-DAG: #define __INTPTR_TYPE__ long int
// NOHOST64-DAG: #define __SIZEOF_SIZE_T__ 8
// NOHOST64-DAG: #define __SIZEOF_PTRDIFF_T__ 8
// NOHOST64-DAG: #define __SIZEOF_POINTER__ 8
// No host (SPIRV32 defaults)
// NOHOST32-DAG: #define __SIZE_TYPE__ unsigned int
// NOHOST32-DAG: #define __PTRDIFF_TYPE__ int
// NOHOST32-DAG: #define __INTPTR_TYPE__ int
// NOHOST32-DAG: #define __SIZEOF_SIZE_T__ 4
// NOHOST32-DAG: #define __SIZEOF_PTRDIFF_T__ 4
// NOHOST32-DAG: #define __SIZEOF_POINTER__ 4
// Aux-target OS macros
// WIN64-DAG: #define _WIN32 1
// WIN64-DAG: #define _WIN64 1
// LINUX64-DAG: #define __linux__ 1
// SPIRV device macros always present
// LINUX64-DAG: #define __SPIRV__ 1
// LINUX64-DAG: #define __SPIRV64__ 1
// WIN64-DAG: #define __SPIRV__ 1
// WIN64-DAG: #define __SPIRV64__ 1
// NOHOST64-DAG: #define __SPIRV__ 1
// NOHOST64-DAG: #define __SPIRV64__ 1
// NOHOST32-DAG: #define __SPIRV__ 1
// NOHOST32-DAG: #define __SPIRV32__ 1