Skip to content

Commit 912fde3

Browse files
authored
[NFC][SYCL] Disable FPGA-specific SPIR-V extensions for other devices (#5356)
Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
1 parent 0a1e6d9 commit 912fde3

File tree

2 files changed

+21
-28
lines changed

2 files changed

+21
-28
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9042,28 +9042,27 @@ void SPIRVTranslator::ConstructJob(Compilation &C, const JobAction &JA,
90429042
std::string INTELExtArg =
90439043
",+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io"
90449044
",+SPV_INTEL_device_side_avc_motion_estimation"
9045-
",+SPV_INTEL_fpga_loop_controls,+SPV_INTEL_fpga_memory_attributes"
9046-
",+SPV_INTEL_fpga_memory_accesses"
9047-
",+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg"
9048-
",+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers"
9049-
",+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes"
9050-
",+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers"
9045+
",+SPV_INTEL_fpga_loop_controls,+SPV_INTEL_unstructured_loop_controls"
9046+
",+SPV_INTEL_fpga_reg,+SPV_INTEL_blocking_pipes"
9047+
",+SPV_INTEL_function_pointers,+SPV_INTEL_kernel_attributes"
9048+
",+SPV_INTEL_io_pipes,+SPV_INTEL_inline_assembly"
9049+
",+SPV_INTEL_arbitrary_precision_integers"
90519050
",+SPV_INTEL_float_controls2,+SPV_INTEL_vector_compute"
9052-
",+SPV_INTEL_fast_composite,+SPV_INTEL_fpga_buffer_location"
9051+
",+SPV_INTEL_fast_composite"
90539052
",+SPV_INTEL_arbitrary_precision_fixed_point"
90549053
",+SPV_INTEL_arbitrary_precision_floating_point"
9055-
",+SPV_INTEL_arbitrary_precision_floating_point"
90569054
",+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode"
9057-
",+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse"
90589055
",+SPV_INTEL_long_constant_composite"
9059-
",+SPV_INTEL_fpga_invocation_pipelining_attributes"
9060-
",+SPV_INTEL_fpga_dsp_control"
90619056
",+SPV_INTEL_arithmetic_fence";
90629057
ExtArg = ExtArg + DefaultExtArg + INTELExtArg;
90639058
if (!C.getDriver().isFPGAEmulationMode())
90649059
// Enable several extensions on FPGA H/W exclusively
9065-
ExtArg += ",+SPV_INTEL_usm_storage_classes"
9066-
",+SPV_INTEL_runtime_aligned";
9060+
ExtArg += ",+SPV_INTEL_usm_storage_classes,+SPV_INTEL_runtime_aligned"
9061+
",+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse"
9062+
",+SPV_INTEL_fpga_buffer_location"
9063+
",+SPV_INTEL_fpga_invocation_pipelining_attributes"
9064+
",+SPV_INTEL_fpga_dsp_control,+SPV_INTEL_fpga_memory_accesses"
9065+
",+SPV_INTEL_fpga_memory_attributes";
90679066
else
90689067
// Don't enable several freshly added extensions on FPGA H/W
90699068
ExtArg += ",+SPV_INTEL_token_type"

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,17 @@
3232
// CHECK-DEFAULT-SAME:,+SPV_KHR_expect_assume,+SPV_KHR_linkonce_odr
3333
// CHECK-DEFAULT-SAME:,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io
3434
// CHECK-DEFAULT-SAME:,+SPV_INTEL_device_side_avc_motion_estimation
35-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_loop_controls,+SPV_INTEL_fpga_memory_attributes
36-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_memory_accesses
35+
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_loop_controls
3736
// CHECK-DEFAULT-SAME:,+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg
3837
// CHECK-DEFAULT-SAME:,+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers
3938
// CHECK-DEFAULT-SAME:,+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes
4039
// CHECK-DEFAULT-SAME:,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers
4140
// CHECK-DEFAULT-SAME:,+SPV_INTEL_float_controls2
4241
// CHECK-DEFAULT-SAME:,+SPV_INTEL_vector_compute,+SPV_INTEL_fast_composite
43-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_buffer_location
4442
// CHECK-DEFAULT-SAME:,+SPV_INTEL_arbitrary_precision_fixed_point
4543
// CHECK-DEFAULT-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
46-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
4744
// CHECK-DEFAULT-SAME:,+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode
48-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse
4945
// CHECK-DEFAULT-SAME:,+SPV_INTEL_long_constant_composite
50-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes
51-
// CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_dsp_control
5246
// CHECK-DEFAULT-SAME:,+SPV_INTEL_arithmetic_fence
5347
// CHECK-DEFAULT-SAME:,+SPV_INTEL_token_type
5448
// CHECK-DEFAULT-SAME:,+SPV_INTEL_bfloat16_conversion
@@ -61,23 +55,23 @@
6155
// CHECK-FPGA-HW-SAME:,+SPV_KHR_expect_assume
6256
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_subgroups,+SPV_INTEL_media_block_io
6357
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_device_side_avc_motion_estimation
64-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_loop_controls,+SPV_INTEL_fpga_memory_attributes
65-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_memory_accesses
58+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_loop_controls
6659
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_unstructured_loop_controls,+SPV_INTEL_fpga_reg
6760
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_blocking_pipes,+SPV_INTEL_function_pointers
6861
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_kernel_attributes,+SPV_INTEL_io_pipes
6962
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_inline_assembly,+SPV_INTEL_arbitrary_precision_integers
7063
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_float_controls2
7164
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_vector_compute,+SPV_INTEL_fast_composite
72-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_buffer_location
7365
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_arbitrary_precision_fixed_point
7466
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
75-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_arbitrary_precision_floating_point
7667
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_variable_length_array,+SPV_INTEL_fp_fast_math_mode
77-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse
7868
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_long_constant_composite
79-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes
80-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_dsp_control
8169
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_arithmetic_fence
8270
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_usm_storage_classes
83-
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_runtime_aligned"
71+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_runtime_aligned
72+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse
73+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_buffer_location
74+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes
75+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_dsp_control
76+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_memory_accesses
77+
// CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_memory_attributes"

0 commit comments

Comments
 (0)