Я разрабатываю генератор кода для инструкций AVX2 и пытаюсь протестировать его на процессоре AMD A10 8700, который по спецификациям должен запускать AVX2.Незаконная инструкция vgatherdps на процессоре с поддержкой AVX2
Однако, он выходит из строя с нелегальной инструкцией по инструкции vgatherdps в:
vmovdqu yMM0, [ r9+ PmainBase + -256]; LDdqyy;0
lea r9, [ PmainBase + -192];0
vpcmpeqw ymm8, ymm8, ymm8;0
vgatherdps YMM0, [ r9+ yMM0*4 ] ,ymm8;0
CPUID информация говорит, что AVX2 включен, так VGATHERDPS должно быть законным.
Любые подсказки?
Затем он выполнил некоторые инструкции AVX2, поэтому он включен. Что такое машинный код этого сбора? – harold
Почему у вас есть '; 0' комментарии в конце каждой строки? И непоследовательная капитализация, как 'yMM0'? В основном ваш код является беспорядочным с точки зрения форматирования/удобочитаемости. (не относится к тому, как он собирается, хотя). –