int sum_scalar() {/*...*/}
int sum_sse2() {/*...*/}
int sum_avx2() {/*...*/}
У меня есть 3 варианта функций и мне нужно вызывать в коде наиболее производительную в зависимости от наличия инструкций в процессоре. Как это можно сделать? Интересует не конретно как достать значение из CPUID и проверить наличие инструкции, а подход в целом. Ведь как я понимаю чтобы корректно определить какую из функций вызывать проверка должна быть в рантайме, т.к. у процессора может отсуствовать поддержка инструкций avx2 к примеру. И что будет если компиляция проходит на машине на которой нет avx2 инструкций?