no_std_compat::arch::x86_64

Function _mm_insert_ps

1.27.0 · Source
pub unsafe fn _mm_insert_ps<const IMM8: i32>(a: __m128, b: __m128) -> __m128
Available on x86-64 only.
Expand description

Select a single value in b to store at some position in a, Then zero elements according to IMM8.

IMM8 specifies which bits from operand b will be copied, which bits in the result they will be copied to, and which bits in the result will be cleared. The following assignments are made:

  • Bits [7:6] specify the bits to copy from operand b:

    • 00: Selects bits [31:0] from operand b.
    • 01: Selects bits [63:32] from operand b.
    • 10: Selects bits [95:64] from operand b.
    • 11: Selects bits [127:96] from operand b.
  • Bits [5:4] specify the bits in the result to which the selected bits from operand b are copied:

    • 00: Copies the selected bits from b to result bits [31:0].
    • 01: Copies the selected bits from b to result bits [63:32].
    • 10: Copies the selected bits from b to result bits [95:64].
    • 11: Copies the selected bits from b to result bits [127:96].
  • Bits [3:0]: If any of these bits are set, the corresponding result element is cleared.

Intel’s documentation