diff options
| author | bors <bors@rust-lang.org> | 2023-04-17 02:36:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-04-17 02:36:38 +0000 |
| commit | 5546cb64f6fbba70529582bbe58a40ba4a8ed9fc (patch) | |
| tree | 82603ce3d07dc6bb247669285f38009495a80d85 /tests/codegen/array-map.rs | |
| parent | 23eb90ffa77943153d203c3d184c182490d758e7 (diff) | |
| parent | 354177504757c3b79e38daa3f6c81004470f455f (diff) | |
| download | rust-5546cb64f6fbba70529582bbe58a40ba4a8ed9fc.tar.gz rust-5546cb64f6fbba70529582bbe58a40ba4a8ed9fc.zip | |
Auto merge of #109247 - saethlin:inline-without-inline, r=oli-obk
Permit MIR inlining without #[inline] I noticed that there are at least a handful of portable-simd functions that have no `#[inline]` but compile to an assign + return. I locally benchmarked inlining thresholds between 0 and 50 in increments of 5, and 50 seems to be the best. Interesting. That didn't include check builds though, ~maybe perf will have something to say about that~. Perf has little useful to say about this. We generally regress all the check builds, as best as I can tell, due to a number of small codegen changes in a particular hot function in the compiler. Probably this is because we've nudged the inlining outcomes all over, and uses of `#[inline(always)]`/`#[inline(never)]` might need to be adjusted.
Diffstat (limited to 'tests/codegen/array-map.rs')
| -rw-r--r-- | tests/codegen/array-map.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/codegen/array-map.rs b/tests/codegen/array-map.rs index 7b8ab2c79a7..3706ddf99fd 100644 --- a/tests/codegen/array-map.rs +++ b/tests/codegen/array-map.rs @@ -21,7 +21,7 @@ pub fn short_integer_map(x: [u32; 8]) -> [u32; 8] { pub fn short_integer_zip_map(x: [u32; 8], y: [u32; 8]) -> [u32; 8] { // CHECK: %[[A:.+]] = load <8 x i32> // CHECK: %[[B:.+]] = load <8 x i32> - // CHECK: sub <8 x i32> %[[A]], %[[B]] + // CHECK: sub <8 x i32> %[[B]], %[[A]] // CHECK: store <8 x i32> x.zip(y).map(|(x, y)| x - y) } |
