Создает ли новый компилятор RyuJIT векторные (SIMD) инструкции CPU и когда?При каких условиях компилятор .NET JIT выполняет автоматическую векторизацию?
Замечание: пространство имен System.Numerics содержит типы, которые допускают явное использование векторных операций, которые могут или не могут генерировать инструкции SIMD в зависимости от процессора, версии CLR, версии JITer, независимо от того, компилируется ли непосредственно на собственный код или нет. Этот вопрос конкретно касается того, когда не-векторный код (например, на C# или F #) будет выдавать SIMD-инструкции.
Что касается выравнивания памяти, я нашел этот комментарий от Intel ... «Большинство семантик команд SIMD с цифрой и обработкой данных с операндом памяти имеют требования к выравниванию памяти, чем команды, закодированные с использованием префиксов SIMD» [Intel® 64 и IA -32 Архитектуры Руководство для разработчиков программного обеспечения] (http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1 -manual.pdf) – redcalx
«Может быть только * эффективным *» является ключевой фразой. Неудовлетворенные нагрузки и магазины очень дороги. –