diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index babf49f57b214..9e15a819faf25 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -8675,7 +8675,8 @@ void SPIRVTranslator::ConstructJob(Compilation &C, const JobAction &JA, ",+SPV_INTEL_fpga_cluster_attributes,+SPV_INTEL_loop_fuse" ",+SPV_INTEL_long_constant_composite" ",+SPV_INTEL_fpga_invocation_pipelining_attributes" - ",+SPV_INTEL_fpga_dsp_control"; + ",+SPV_INTEL_fpga_dsp_control" + ",+SPV_INTEL_arithmetic_fence"; ExtArg = ExtArg + DefaultExtArg + INTELExtArg; if (!C.getDriver().isFPGAEmulationMode()) // Enable SPV_INTEL_usm_storage_classes only for FPGA hardware, diff --git a/clang/test/Driver/sycl-spirv-ext.c b/clang/test/Driver/sycl-spirv-ext.c index 2626c10afeaaa..c1e2e6e8a557c 100644 --- a/clang/test/Driver/sycl-spirv-ext.c +++ b/clang/test/Driver/sycl-spirv-ext.c @@ -48,6 +48,7 @@ // CHECK-DEFAULT-SAME:,+SPV_INTEL_long_constant_composite // CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes // CHECK-DEFAULT-SAME:,+SPV_INTEL_fpga_dsp_control +// CHECK-DEFAULT-SAME:,+SPV_INTEL_arithmetic_fence // CHECK-DEFAULT-SAME:,+SPV_INTEL_token_type" // CHECK-FPGA-HW: llvm-spirv{{.*}}"-spirv-ext=-all // CHECK-FPGA-HW-SAME:,+SPV_EXT_shader_atomic_float_add @@ -72,4 +73,5 @@ // CHECK-FPGA-HW-SAME:,+SPV_INTEL_long_constant_composite // CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_invocation_pipelining_attributes // CHECK-FPGA-HW-SAME:,+SPV_INTEL_fpga_dsp_control -// CHECK-FPGA-HW-SAME:,+SPV_INTEL_usm_storage_classes" \ No newline at end of file +// CHECK-FPGA-HW-SAME:,+SPV_INTEL_arithmetic_fence +// CHECK-FPGA-HW-SAME:,+SPV_INTEL_usm_storage_classes"