На чистом Delphi, без ассемблерной вставки, это по-моему никак не сделать. Ну а как это сделать на ассемблере, можно нагуглить за пару минут:
Moving a single float to a xmm register"mov $0x3f000000, %%eax\n" // encoding of 0.5
"movd %%eax, %%xmm1\n" // move to xmm1
"shufps $0, %%xmm1, %%xmm1\n" // splat across all lanes of xmm1
Тут, ключевая инструкция -
shufps, насколько можно понять.
Если данные лежат в памяти уже в упакованном виде, их можно сразу загнать в xmm регистр (пример из ссылки выше):
movaps xmm0,xmmword ptr [ecx]