This repository was archived by the owner on Dec 22, 2021. It is now read-only.
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
Proposal to add mul 32x32=64 #175
Closed
Description
I haven't seen _mm_mul_epu32 = PMULUDQ mentioned here. This is important for crypto/hashing, and a quick search on Github turned up uses in poly1305, QNNPACK, skia, HighwayHash.
The proposed semantics are: u64x2 r = mul_even(u32x4 a, u32x4 b), where
r[i] = u64(a[2*i]) * b[2*i]
MULE on PPC has the same semantics as PMULUDQ on x86. ARM can vmull_u32 after two vuzp1q_u32.
Does this seem like a useful operation to add?