How to multiply four 32-bit integers by another 4 integers? I didn't find any instruction which can do it.
相关问题
- Where can the code be more efficient for checking
- NASM x86 print integer using extern printf
- “rdtsc”: “=a” (a0), “=d” (d0) what does this do? [
- Can a “PUSH” instruction's operation be perfor
- SSE Comparison Intrinsics - How to get 1 or 0 from
相关文章
- Is it possible to run 16 bit code in an operating
- parallelizing matrix multiplication through thread
- Select unique/deduplication in SSE/AVX
- SIMD/SSE: How to check that all vector elements ar
- x86 instruction encoding tables
- x86 Program Counter abstracted from microarchitect
- Assembler : why BCD exists?
- Fastest way to compute distance squared
PMULLD, from SSE 4.1, does that.
The description is slightly misleading, it talks about signed multiplication, but since it only stores the lower 32bits, it's really a sign-oblivious instruction that you can use for both, just like
IMUL
.If you need signed 32x32 bit integer multiplication then the following example at software.intel.com looks like it should do what you want:
You might want to have two builds - one for old CPUs and one for recent CPUs, in which case you could do the following: