При векторизации, если цикл содержит «конструкции if», llvm пытается сгладить их, заменяя инструкциями SELECT, чтобы сделать поток управления прямым, если базовые блоки нельзя превратить в предикативные инструкции, такие как SELECT, llvm не может их векторизовать. До сих пор я предполагаю, что для SELECT должна быть какая-то эквивалентная инструкция, такая как инструкции IR. Я искал предикативную инструкцию в архитектуре Intel, но у меня ее не было. Может ли кто-нибудь сказать мне, поддерживают ли современные архитектуры ISA предикативные инструкции? Если нет, то как инструкции SELECT будут понижены до машинных инструкций? Пожалуйста, поправьте меня, если я сделал какие-то неправильные предположения.
заранее спасибо