The ISPC language by Intel is designed to give enough information to the compiler so as to allow auto SIMD-vectorization of programs [1]. It opts for an explicitly parallel model of programming, unlike C [2]. It also has easier support for SOA and AOSOA [3].
[2] https://ispc.github.io/ispc.html#the-ispc-parallel-execution...
[3] https://ispc.github.io/ispc.html#structure-of-array-types