Skip to content

Commit

Permalink
Add autovectorization codegen test
Browse files Browse the repository at this point in the history
Co-authored-by: Scott McMurray <scottmcm@users.noreply.github.com>
  • Loading branch information
2 people authored and shampoofactory committed Mar 3, 2022
1 parent 8e98537 commit 934345b
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/test/codegen/autovectorize-f32x4.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// compile-flags: -C opt-level=3
// only-x86_64
#![crate_type = "lib"]

// CHECK-LABEL: @auto_vectorize_direct
#[no_mangle]
pub fn auto_vectorize_direct(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
// CHECK: load <4 x float>
// CHECK: load <4 x float>
// CHECK: fadd <4 x float>
// CHECK: store <4 x float>
[
a[0] + b[0],
a[1] + b[1],
a[2] + b[2],
a[3] + b[3],
]
}

// CHECK-LABEL: @auto_vectorize_loop
pub fn auto_vectorize_loop(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
// CHECK: load <4 x float>
// CHECK: load <4 x float>
// CHECK: fadd <4 x float>
// CHECK: store <4 x float>
let mut c = [0.0; 4];
for i in 0..4 {
c[i] = a[i] + b[i];
}
c
}

0 comments on commit 934345b

Please sign in to comment.