МОВДДУП
На языке программирования ассемблера x86 MOVDDUP — это название конкретного действия, выполняемого современными процессорами x86 с потоковыми расширениями SIMD 3-го поколения (SSE3) . Это действие включает копирование числа во временное пространство процессора для использования в других вычислениях.
одного двойной точности как источника с плавающей запятой В частности, MOVDDUP вызывает копирование в нижнюю, так и в верхнюю половину регистра XMM .
Использование
[ редактировать ]Код операции | F2 0F 12 /r
|
---|---|
Сборка (синтаксис Intel) | MOVDDUP xmm1, xmm2/m64
|
Ассемблер (синтаксис AT&T) | MOVDDUP xmm2/m64, xmm1
|
icc внутренний эквивалент(ы) | __m128d _mm_movedup_pd(__m128d a) __m128d _mm_load_pd1(const double * mem_addr)
|
gcc встроенные модули | v2df __builtin_ia32_movddup(v2df)
|
Исходным операндом может быть либо регистр XMM ( xmm2 ), либо адрес памяти ( m64 ). Если исходным операндом является регистр XMM, в операции используется младшая половина регистра. Когда исходным операндом является адрес памяти, предполагается, что это адрес 8-байтовой области, значение которой используется в операции.
Операндом назначения должен быть регистр XMM ( xmm1 ).
Возможные исключения
[ редактировать ]![]() | Этот раздел пуст. Вы можете помочь, добавив к нему . ( июль 2010 г. ) |
Ссылки
[ редактировать ]- информационная документация gcc .
- Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 2A: Справочник по набору инструкций, AM , ноябрь 2006 г.
- https://software.intel.com/sites/landingpage/IntrinsicsGuide/