diff options
| author | sayantn <sayantn05@gmail.com> | 2025-08-21 04:47:05 +0530 |
|---|---|---|
| committer | sayantn <sayantn05@gmail.com> | 2025-09-03 14:13:24 +0530 |
| commit | 62b4347e80cc86314bd98749e95eff8cdf8ef005 (patch) | |
| tree | 69b4d50bbd60c11647a12bbc0544a5d546855e1e /compiler/rustc_hir_analysis/src | |
| parent | f5703d5dd3eec176f86a6e9bf7e668b48b84eabb (diff) | |
| download | rust-62b4347e80cc86314bd98749e95eff8cdf8ef005.tar.gz rust-62b4347e80cc86314bd98749e95eff8cdf8ef005.zip | |
Add `funnel_sh{l,r}` functions and intrinsics
- Add a fallback implementation for the intrinsics - Add LLVM backend support for funnel shifts Co-Authored-By: folkertdev <folkert@folkertdev.nl>
Diffstat (limited to 'compiler/rustc_hir_analysis/src')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/check/intrinsic.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_hir_analysis/src/check/intrinsic.rs b/compiler/rustc_hir_analysis/src/check/intrinsic.rs index cfc6bc2f3a0..aa2d27ab809 100644 --- a/compiler/rustc_hir_analysis/src/check/intrinsic.rs +++ b/compiler/rustc_hir_analysis/src/check/intrinsic.rs @@ -449,6 +449,9 @@ pub(crate) fn check_intrinsic_type( } sym::unchecked_shl | sym::unchecked_shr => (2, 0, vec![param(0), param(1)], param(0)), sym::rotate_left | sym::rotate_right => (1, 0, vec![param(0), tcx.types.u32], param(0)), + sym::unchecked_funnel_shl | sym::unchecked_funnel_shr => { + (1, 0, vec![param(0), param(0), tcx.types.u32], param(0)) + } sym::unchecked_add | sym::unchecked_sub | sym::unchecked_mul => { (1, 0, vec![param(0), param(0)], param(0)) } |
