Community
cancel
Showing results for 
Search instead for 
Did you mean: 
inteleverywhere
Beginner
50 Views

Part use of 128 Bit SIMD Registers

Is there a way to use only a part of a 128 register (__m128i, __m128), say upper 64 or lower 64 bits only if the use of the older 64 bit register is not desirable?

Does this affect the performance (since only a part of the register is used while the rest is still be processed).

Deepak
0 Kudos
1 Reply
TimP
Black Belt
50 Views

I suppose, if you use shuffle or insert intrinsics, you make it explicit where the new and old fields are coming from. Opportunities for register renaming or out of order speedups at run time are restricted, since you have possibly different dependency sequences for the 2 parts of the register. Making it explicit with intrinsics doesn't necessarily create a different situation at run time from use of asm to modify part of the register while leaving the other part unchanged.