miri::shims::x86

Function pclmulqdq

Source
fn pclmulqdq<'tcx>(
    this: &mut MiriInterpCx<'tcx>,
    left: &OpTy<'tcx>,
    right: &OpTy<'tcx>,
    imm8: &OpTy<'tcx>,
    dest: &MPlaceTy<'tcx>,
    len: u64,
) -> InterpResult<'tcx, ()>
Expand description

Perform a carry-less multiplication of two 64-bit integers, selected from left and right according to imm8, and store the results in dst.

left and right are both vectors of type len x i64. Only bits 0 and 4 of imm8 matter; they select the element of left and right, respectively.

len is the SIMD vector length (in counts of i64 values). It is expected to be one of 2, 4, or 8.

https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_clmulepi64_si128