Skip to content

Commit a7848bc

Browse files
committed
Fix up SPIR-V data-layout strings for LLVM 20
1 parent cdf8d9e commit a7848bc

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

gen/dcompute/targetOCL.cpp

+33-24
Original file line numberDiff line numberDiff line change
@@ -25,30 +25,39 @@
2525

2626
// from SPIRVInternal.h
2727
#if LDC_LLVM_VER < 1900
28-
#define SPIR_TARGETTRIPLE32 "spir-unknown-unknown"
29-
#define SPIR_TARGETTRIPLE64 "spir64-unknown-unknown"
30-
#define SPIR_DATALAYOUT32 \
31-
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32" \
32-
"-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32" \
33-
"-v32:32:32-v48:64:64-v64:64:64-v96:128:128" \
34-
"-v128:128:128-v192:256:256-v256:256:256" \
35-
"-v512:512:512-v1024:1024:1024"
36-
#define SPIR_DATALAYOUT64 \
37-
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32" \
38-
"-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32" \
39-
"-v32:32:32-v48:64:64-v64:64:64-v96:128:128" \
40-
"-v128:128:128-v192:256:256-v256:256:256" \
41-
"-v512:512:512-v1024:1024:1024"
42-
#else
43-
#define SPIR_TARGETTRIPLE32 "spirv-unknown-unknown"
44-
#define SPIR_TARGETTRIPLE64 "spirv64-unknown-unknown"
45-
#define SPIR_DATALAYOUT32 \
46-
"e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64" \
47-
"-v96:128-v192:256-v256:256-v512:512-v1024:1024-G1"
48-
#define SPIR_DATALAYOUT64 \
49-
"e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" \
50-
"-v192:256-v256:256-v512:512-v1024:1024-G1"
51-
#endif
28+
# define SPIR_TARGETTRIPLE32 "spir-unknown-unknown"
29+
# define SPIR_TARGETTRIPLE64 "spir64-unknown-unknown"
30+
# define SPIR_DATALAYOUT32 \
31+
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32" \
32+
"-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32" \
33+
"-v32:32:32-v48:64:64-v64:64:64-v96:128:128" \
34+
"-v128:128:128-v192:256:256-v256:256:256" \
35+
"-v512:512:512-v1024:1024:1024"
36+
# define SPIR_DATALAYOUT64 \
37+
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32" \
38+
"-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32" \
39+
"-v32:32:32-v48:64:64-v64:64:64-v96:128:128" \
40+
"-v128:128:128-v192:256:256-v256:256:256" \
41+
"-v512:512:512-v1024:1024:1024"
42+
#else // LLVM 19+
43+
# define SPIR_TARGETTRIPLE32 "spirv-unknown-unknown"
44+
# define SPIR_TARGETTRIPLE64 "spirv64-unknown-unknown"
45+
# if LDC_LLVM_VER < 2000
46+
# define SPIR_DATALAYOUT32 \
47+
"e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64" \
48+
"-v96:128-v192:256-v256:256-v512:512-v1024:1024-G1"
49+
# define SPIR_DATALAYOUT64 \
50+
"e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" \
51+
"-v192:256-v256:256-v512:512-v1024:1024-G1"
52+
# else // LLVM 20+
53+
# define SPIR_DATALAYOUT32 \
54+
"e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64" \
55+
"-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64-G1"
56+
# define SPIR_DATALAYOUT64 \
57+
"e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" \
58+
"-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64-G1"
59+
# endif // LLVM 20+
60+
#endif // LLVM 19+
5261

5362
using namespace dmd;
5463

0 commit comments

Comments
 (0)