macro_name INTEL

binary_name icpc

optimization_flags "-O2"
size_optimization_flags "-Os"

lang_flags "-std=c++20"
warning_flags "-w1"
shared_flags "-fPIC"

supports_gcc_inline_asm yes

<isa_flags>
sse2    -> "-msse2"
ssse3   -> "-mssse3"
sse41   -> "-msse4.1"
avx2    -> "-march=core-avx2"
aesni   -> "-march=corei7"
rdrand  -> "-march=core-avx-i"
</isa_flags>

<so_link_commands>
default -> "{cxx} -fPIC -shared -Wl,-soname,{soname_abi}"
</so_link_commands>

# Modern Intel C++ is based on Clang so we assume it can perform Clang-like
# optimizations that harm constant time code
<ct_value_barrier>
default -> asm
</ct_value_barrier>
