The OpenMP Forums are now closed to new posts. Please visit Stack Overflow if you are in need of help: https://stackoverflow.com/questions/tagged/openmp
Rationale: SIMD execution is not always profitable (think short trip counts) or even allowed (think overlapped memory accesses). It seems reasonable and desirable to have 'if' clause applicable to simd construct to permit SIMD execution in favorable conditions and prohibit otherwise. In OpenMP 4.5 the precise specification of construct to which IF applies was added, so use of IF in `parallel simd for` and similar combined cases is no longer a problem. From implementation standpoint this also does't seems complex: compilers already perform checks before entering SIMD execution for a loop and so it won't be hard to add user-defined condition to the set of checked conditions.