From 861899759440ffb1e2aedc848014bf2c23765b2b Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Fri, 20 May 2022 18:18:50 +0200 Subject: [PATCH] Add CMS_UNROLL_LOOP defines for Intel compilers and use with pragme omp simd instructions that cause internal icc error --- FWCore/Utilities/interface/CMSUnrollLoop.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/FWCore/Utilities/interface/CMSUnrollLoop.h b/FWCore/Utilities/interface/CMSUnrollLoop.h index 225a75cff294e..3e6e9b3fba339 100644 --- a/FWCore/Utilities/interface/CMSUnrollLoop.h +++ b/FWCore/Utilities/interface/CMSUnrollLoop.h @@ -28,6 +28,12 @@ #define CMS_UNROLL_LOOP_COUNT(N) _Pragma(EDM_STRINGIZE(clang loop unroll_count(N))) #define CMS_UNROLL_LOOP_DISABLE _Pragma(EDM_STRINGIZE(clang loop unroll(disable))) +#elif defined(__INTEL_COMPILER) +// Intel icc compiler +#define CMS_UNROLL_LOOP _Pragma(EDM_STRINGIFY(unroll)) +#define CMS_UNROLL_LOOP_COUNT(N) _Pragma(EDM_STRINGIFY(unroll(N))) +#define CMS_UNROLL_LOOP_DISABLE _Pragma(EDM_STRINGIFY(nounroll)) + #elif defined(__GNUC__) // GCC host compiler