Skip to content

Commit 07752e2

Browse files
committed
Add extension SPV_INTEL_fp_max_error.
1 parent ff2b3d9 commit 07752e2

File tree

2 files changed

+179
-1
lines changed

2 files changed

+179
-1
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10681,8 +10681,22 @@ static void getTripleBasedSPIRVTransOpts(Compilation &C,
1068110681
",+SPV_KHR_non_semantic_info"
1068210682
",+SPV_KHR_cooperative_matrix"
1068310683
",+SPV_EXT_shader_atomic_float16_add";
10684-
if (IsCPU)
10684+
auto hasNoOffloadFP32PrecOption = [](const llvm::opt::ArgList &TCArgs) {
10685+
return !TCArgs.hasFlag(options::OPT_foffload_fp32_prec_sqrt,
10686+
options::OPT_fno_offload_fp32_prec_sqrt, false) &&
10687+
!TCArgs.hasFlag(options::OPT_foffload_fp32_prec_div,
10688+
options::OPT_fno_offload_fp32_prec_div, false);
10689+
};
10690+
auto shouldUseOffloadFP32PrecOption = [](const llvm::opt::ArgList &TCArgs) {
10691+
return (TCArgs.hasFlag(options::OPT_fno_offload_fp32_prec_sqrt,
10692+
options::OPT_foffload_fp32_prec_sqrt, false) ||
10693+
TCArgs.hasFlag(options::OPT_fno_offload_fp32_prec_div,
10694+
options::OPT_foffload_fp32_prec_div, false));
10695+
};
10696+
if (IsCPU && hasNoOffloadFP32PrecOption(TCArgs) ||
10697+
!IsCPU && shouldUseOffloadFP32PrecOption(TCArgs)) {
1068510698
ExtArg += ",+SPV_INTEL_fp_max_error";
10699+
}
1068610700

1068710701
TranslatorArgs.push_back(TCArgs.MakeArgString(ExtArg));
1068810702
}

clang/test/Driver/sycl-spirv-ext-old-model.c

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,63 @@
2424
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT
2525
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown %s -### 2>&1 \
2626
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
27+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-div %s -### 2>&1 \
28+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
29+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
30+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
31+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-sqrt -fno-offload-fp32-prec-div %s -### 2>&1 \
32+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
33+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-div -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
34+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
35+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -foffload-fp32-prec-sqrt %s -### 2>&1 \
36+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU-NFPME
37+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -foffload-fp32-prec-div %s -### 2>&1 \
38+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU-NFPME
39+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -foffload-fp32-prec-div -foffload-fp32-prec-sqrt %s -### 2>&1 \
40+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU-NFPME
41+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -foffload-fp32-prec-sqrt -foffload-fp32-prec-div %s -### 2>&1 \
42+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU-NFPME
43+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
44+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
45+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-div %s -### 2>&1 \
46+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
47+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-div -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
48+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
49+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64-unknown-unknown -fno-offload-fp32-prec-sqrt -fno-offload-fp32-prec-div %s -### 2>&1 \
50+
// RUN: | FileCheck %s -check-prefixes=CHECK-CPU
51+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -fno-offload-fp32-prec-div %s -### 2>&1 \
52+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT-FPME
53+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
54+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT-FPME
55+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -fno-offload-fp32-prec-div -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
56+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT-FPME
57+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -fno-offload-fp32-prec-sqrt -fno-offload-fp32-prec-div %s -### 2>&1 \
58+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT-FPME
59+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -foffload-fp32-prec-div %s -### 2>&1 \
60+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT
61+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -foffload-fp32-prec-sqrt %s -### 2>&1 \
62+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT
63+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -foffload-fp32-prec-div -foffload-fp32-prec-sqrt %s -### 2>&1 \
64+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT
65+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen-unknown-unknown -foffload-fp32-prec-sqrt -foffload-fp32-prec-div %s -### 2>&1 \
66+
// RUN: | FileCheck %s -check-prefixes=CHECK-DEFAULT
67+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -fno-offload-fp32-prec-div %s -### 2>&1 \
68+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW-FPME
69+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
70+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW-FPME
71+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -fno-offload-fp32-prec-div -fno-offload-fp32-prec-sqrt %s -### 2>&1 \
72+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW-FPME
73+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -fno-offload-fp32-prec-sqrt -fno-offload-fp32-prec-div %s -### 2>&1 \
74+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW-FPME
75+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -foffload-fp32-prec-div %s -### 2>&1 \
76+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW
77+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -foffload-fp32-prec-sqrt %s -### 2>&1 \
78+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW
79+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -foffload-fp32-prec-div -foffload-fp32-prec-sqrt %s -### 2>&1 \
80+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW
81+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga-unknown-unknown -Xshardware -foffload-fp32-prec-sqrt -foffload-fp32-prec-div %s -### 2>&1 \
82+
// RUN: | FileCheck %s -check-prefixes=CHECK-FPGA-HW
83+
2784

2885
// CHECK-DEFAULT: llvm-spirv{{.*}}"-spirv-ext=-all
2986
// CHECK-DEFAULT-SAME:,+SPV_EXT_shader_atomic_float_add
@@ -129,3 +186,110 @@
129186
// CHECK-CPU-SAME:,+SPV_KHR_non_semantic_info
130187
// CHECK-CPU-SAME:,+SPV_KHR_cooperative_matrix
131188
// CHECK-CPU-SAME:,+SPV_INTEL_fp_max_error"
189+
//
190+
// CHECK-CPU-NFPME: llvm-spirv{{.*}}"-spirv-allow-unknown-intrinsics=llvm.genx.,llvm.fpbuiltin"
191+
// CHECK-CPU-NFPME-SAME: {{.*}}"-spirv-ext=-all
192+
// CHECK-CPU-NFPME-SAME:,+SPV_EXT_shader_atomic_float_add
193+
// CHECK-CPU-NFPME-SAME:,+SPV_EXT_shader_atomic_float_min_max
194+
// CHECK-CPU-NFPME-SAME:,+SPV_KHR_no_integer_wrap_decoration,+SPV_KHR_float_controls
195+
// CHECK-CPU-NFPME-SAME:,+SPV_KHR_expect_assume,+SPV_KHR_linkonce_odr
196+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io
197+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_device_side_avc_motion_estimation
198+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_fpga_loop_controls
199+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg
200+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers
201+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes
202+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers
203+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_float_controls2
204+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_vector_compute,+SPV_INTEL_fast_composite
205+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_arbitrary_precision_fixed_point
206+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
207+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode
208+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_long_constant_composite
209+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_arithmetic_fence
210+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_cache_controls
211+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_fpga_buffer_location
212+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_fpga_argument_interfaces
213+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes
214+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_fpga_latency_control
215+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_task_sequence
216+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_token_type
217+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_bfloat16_conversion
218+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_joint_matrix
219+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_hw_thread_queries
220+
// CHECK-CPU-NFPME-SAME:,+SPV_KHR_uniform_group_instructions
221+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_masked_gather_scatter
222+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_tensor_float32_conversion
223+
// CHECK-CPU-NFPME-SAME:,+SPV_INTEL_optnone
224+
// CHECK-CPU-NFPME-SAME:,+SPV_KHR_non_semantic_info
225+
// CHECK-CPU-NFPME-SAME:,+SPV_KHR_cooperative_matrix
226+
// CHECK-CPU-NFPME-NOT:,+SPV_INTEL_fp_max_error"
227+
// CHECK-DEFAULT-FPME: llvm-spirv{{.*}}"-spirv-ext=-all
228+
// CHECK-DEFAULT-FPME-SAME:,+SPV_EXT_shader_atomic_float_add
229+
// CHECK-DEFAULT-FPME-SAME:,+SPV_EXT_shader_atomic_float_min_max
230+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_no_integer_wrap_decoration,+SPV_KHR_float_controls
231+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_expect_assume,+SPV_KHR_linkonce_odr
232+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io
233+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_device_side_avc_motion_estimation
234+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fpga_loop_controls
235+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg
236+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers
237+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes
238+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers
239+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_float_controls2
240+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_vector_compute,+SPV_INTEL_fast_composite
241+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_arbitrary_precision_fixed_point
242+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
243+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode
244+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_long_constant_composite
245+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_arithmetic_fence
246+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_cache_controls
247+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fpga_buffer_location
248+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fpga_argument_interfaces
249+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes
250+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fpga_latency_control
251+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_shader_clock
252+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_bindless_images
253+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_task_sequence
254+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_token_type
255+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_bfloat16_conversion
256+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_joint_matrix
257+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_hw_thread_queries
258+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_uniform_group_instructions
259+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_masked_gather_scatter
260+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_tensor_float32_conversion
261+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_optnone
262+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_non_semantic_info
263+
// CHECK-DEFAULT-FPME-SAME:,+SPV_KHR_cooperative_matrix
264+
// CHECK-DEFAULT-FPME-SAME:,+SPV_EXT_shader_atomic_float16_add
265+
// CHECK-DEFAULT-FPME-SAME:,+SPV_INTEL_fp_max_error"
266+
// CHECK-FPGA-HW-FPME: llvm-spirv{{.*}}"-spirv-ext=-all
267+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_EXT_shader_atomic_float_add
268+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_EXT_shader_atomic_float_min_max
269+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_KHR_no_integer_wrap_decoration,+SPV_KHR_float_controls
270+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_KHR_expect_assume
271+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io
272+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_device_side_avc_motion_estimation
273+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_loop_controls
274+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg
275+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers
276+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes
277+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers
278+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_float_controls2
279+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_vector_compute,+SPV_INTEL_fast_composite
280+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_arbitrary_precision_fixed_point
281+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
282+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode
283+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_long_constant_composite
284+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_arithmetic_fence
285+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_buffer_location
286+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_argument_interfaces
287+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_latency_control
288+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_task_sequence
289+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_usm_storage_classes
290+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_runtime_aligned
291+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse
292+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_dsp_control
293+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_memory_accesses
294+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fpga_memory_attributes
295+
// CHECK-FPGA-HW-FPME-SAME:,+SPV_INTEL_fp_max_error"

0 commit comments

Comments
 (0)