[llvm] [X86] Add ISD::MULHS/MULHU v4i64/v8i64 lowering (PR #169819)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 28 06:56:40 PDT 2026


Andarwinux wrote:

```
[arch at wsl mulh]$ ./bench_skylake_256_scalar
udiv_vec     ns med=  0.504 [0.503..0.507]  MHz=-1
div_vec      ns med=  0.507 [0.504..0.510]  MHz=-1
wyhash       ns med=  0.616 [0.610..0.619]  MHz=-1
fp_adv c0    ns med=  0.926 [0.918..0.938]  MHz=-1
fp_adv c1    ns med=  1.398 [1.389..1.404]  MHz=-1
[arch at wsl mulh]$ ./bench_skylake_256_vector
udiv_vec     ns med=  0.293 [0.291..0.294]  MHz=-1
div_vec      ns med=  0.654 [0.648..0.658]  MHz=-1
wyhash       ns med=  0.988 [0.982..0.994]  MHz=-1
fp_adv c0    ns med=  0.989 [0.982..0.991]  MHz=-1
fp_adv c1    ns med=  1.363 [1.350..1.365]  MHz=-1
[arch at wsl mulh]$ ./bench_tigerlake_256_scalar
udiv_vec     ns med=  0.513 [0.509..0.517]  MHz=-1
div_vec      ns med=  0.517 [0.513..0.519]  MHz=-1
wyhash       ns med=  0.627 [0.621..0.630]  MHz=-1
fp_adv c0    ns med=  0.606 [0.602..0.614]  MHz=-1
fp_adv c1    ns med=  1.400 [1.391..1.407]  MHz=-1
[arch at wsl mulh]$ ./bench_tigerlake_256_vector
udiv_vec     ns med=  0.293 [0.289..0.300]  MHz=-1
div_vec      ns med=  0.395 [0.392..0.397]  MHz=-1
wyhash       ns med=  0.988 [0.981..0.998]  MHz=-1
fp_adv c0    ns med=  0.635 [0.632..0.639]  MHz=-1
fp_adv c1    ns med=  1.510 [1.500..1.541]  MHz=-1
[arch at wsl mulh]$ ./bench_tigerlake_512_scalar
udiv_vec     ns med=  0.505 [0.502..0.507]  MHz=-1
div_vec      ns med=  0.507 [0.506..0.509]  MHz=-1
wyhash       ns med=  1.066 [1.062..1.068]  MHz=-1
fp_adv c0    ns med=  0.601 [0.594..0.603]  MHz=-1
fp_adv c1    ns med=  1.700 [1.694..1.706]  MHz=-1
[arch at wsl mulh]$ ./bench_tigerlake_512_vector
udiv_vec     ns med=  0.294 [0.291..0.295]  MHz=-1
div_vec      ns med=  0.401 [0.397..0.405]  MHz=-1
wyhash       ns med=  1.143 [1.133..1.166]  MHz=-1
fp_adv c0    ns med=  0.636 [0.632..0.638]  MHz=-1
fp_adv c1    ns med=  1.672 [1.668..1.684]  MHz=-1
```

v8i64/v4i64 on avx512 looks acceptable.

https://github.com/llvm/llvm-project/pull/169819


More information about the llvm-commits mailing list