I've been using !dir$ omp simd safelen since ifort made it available. The 14.0 compiler documentation says the directive should be available with the standard spelling !$omp simd safelen() (when either -openmp or -openmp-simd is set).
Another possible issue is that !dir$ omp simd safelen doesn't suppress the use of an implicit temporary array and memcpy, as the icc counterpart #pragma omp simd safelen() (or CEAN notation) do. The memcpy can double execution time and fill buffer usage compared with icc.
The intent of the standard is fairly clear that setting a large safelen value, such as safelen(32) which is sufficient for optimization on MIC, should not prevent optimization e.g. for SSE where a smaller value (8) would be sufficient. This seems to be one of the reasons for replacing the Intel legacy vectorlength which explicitly required choosing a different value for each architecture (and language). However, Intel compilers don't yet interpret it this way.