diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-05-21 12:47:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-21 12:47:06 +0200 |
| commit | 2c219ceb6be40a47ba57837381995aa27a01757d (patch) | |
| tree | 811557e39b458562eb2015952bc1df01638c52bd | |
| parent | 14134c1482a73a6c3e48a596454bb4d743cb62da (diff) | |
| parent | 7a53ba2e764d4e953ec654b73a6222163482db88 (diff) | |
| download | rust-2c219ceb6be40a47ba57837381995aa27a01757d.tar.gz rust-2c219ceb6be40a47ba57837381995aa27a01757d.zip | |
Rollup merge of #125266 - workingjubilee:stream-plastic-love, r=RalfJung,nikic
compiler: add simd_ctpop intrinsic Fairly straightforward addition. cc `@rust-lang/opsem` new (extremely boring) intrinsic
| -rw-r--r-- | src/intrinsics/simd.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/intrinsics/simd.rs b/src/intrinsics/simd.rs index 452b5988dab..b17f191ce26 100644 --- a/src/intrinsics/simd.rs +++ b/src/intrinsics/simd.rs @@ -348,6 +348,7 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>( | sym::simd_bswap | sym::simd_bitreverse | sym::simd_ctlz + | sym::simd_ctpop | sym::simd_cttz => { intrinsic_args!(fx, args => (a); intrinsic); @@ -367,6 +368,7 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>( (ty::Uint(_) | ty::Int(_), sym::simd_bswap) => fx.bcx.ins().bswap(lane), (ty::Uint(_) | ty::Int(_), sym::simd_bitreverse) => fx.bcx.ins().bitrev(lane), (ty::Uint(_) | ty::Int(_), sym::simd_ctlz) => fx.bcx.ins().clz(lane), + (ty::Uint(_) | ty::Int(_), sym::simd_ctpop) => fx.bcx.ins().popcnt(lane), (ty::Uint(_) | ty::Int(_), sym::simd_cttz) => fx.bcx.ins().ctz(lane), _ => unreachable!(), |
