Предположим, у меня есть два вектора, представленные двумя массивами типа double
, каждый из которых имеет размер 2. Я хотел бы добавить соответствующие позиции. Итак, предположим векторы i0
и i1
, я бы хотел сложить i0[0] + i1[0]
и i0[1] + i1[1]
вместе.
Поскольку тип double
, мне потребуется два регистра. Хитрость заключалась бы в том, чтобы поместить i0[0]
и i1[0]
, а также i0[1]
и i1[1]
в другой и просто добавить регистр к себе.
Мой вопрос: если я вызову _mm_load_ps(i0[0])
, а затем _mm_load_ps(i1[0])
, поместит ли это их в младшие и старшие 64-бита отдельно или заменит регистр вторым load
? Как мне поместить оба двойника в один и тот же регистр, чтобы я мог вызывать add_ps
после?
Спасибо,