Skip to content

Commit 434156c

Browse files
authored
Rollup merge of rust-lang#157256 - krasimirgg:llvm23-addp, r=durin42
tests: adapt for LLVM codegen change Adapts for llvm/llvm-project@7966cbb. @rustbot label: +llvm-main r? @durin42
2 parents 8ccae90 + 3d78a30 commit 434156c

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

tests/assembly-llvm/simd-bitmask.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//@ add-minicore
2-
//@ revisions: x86 x86-avx2 x86-avx512 aarch64
2+
//@ revisions: x86 x86-avx2 x86-avx512 aarch64-llvm-pre-23 aarch64
33
//@ [x86] compile-flags: --target=x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
44
//@ [x86] needs-llvm-components: x86
55
//@ [x86-avx2] compile-flags: --target=x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
@@ -8,8 +8,12 @@
88
//@ [x86-avx512] compile-flags: --target=x86_64-unknown-linux-gnu -C llvm-args=-x86-asm-syntax=intel
99
//@ [x86-avx512] compile-flags: -C target-feature=+avx512f,+avx512vl,+avx512bw,+avx512dq
1010
//@ [x86-avx512] needs-llvm-components: x86
11+
//@ [aarch64] min-llvm-version: 23
1112
//@ [aarch64] compile-flags: --target=aarch64-unknown-linux-gnu
1213
//@ [aarch64] needs-llvm-components: aarch64
14+
//@ [aarch64-llvm-pre-23] ignore-llvm-version: 23 - 99
15+
//@ [aarch64-llvm-pre-23] compile-flags: --target=aarch64-unknown-linux-gnu
16+
//@ [aarch64-llvm-pre-23] needs-llvm-components: aarch64
1317
//@ assembly-output: emit-asm
1418
//@ compile-flags: --crate-type=lib -Copt-level=3 -C panic=abort
1519

@@ -54,14 +58,23 @@ pub unsafe extern "C" fn bitmask_m8x16(mask: m8x16) -> u16 {
5458
// x86-avx512-NOT: vpsllw xmm0
5559
// x86-avx512: vpmovmskb eax, xmm0
5660
//
61+
// aarch64-pre-llvm-23: adrp
62+
// aarch64-pre-llvm-23-NEXT: cmlt
63+
// aarch64-pre-llvm-23-NEXT: ldr
64+
// aarch64-pre-llvm-23-NEXT: and
65+
// aarch64-pre-llvm-23-NEXT: ext
66+
// aarch64-pre-llvm-23-NEXT: zip1
67+
// aarch64-pre-llvm-23-NEXT: addv
68+
// aarch64-pre-llvm-23-NEXT: fmov
69+
//
5770
// aarch64: adrp
5871
// aarch64-NEXT: cmlt
5972
// aarch64-NEXT: ldr
6073
// aarch64-NEXT: and
61-
// aarch64-NEXT: ext
62-
// aarch64-NEXT: zip1
63-
// aarch64-NEXT: addv
64-
// aarch64-NEXT: fmov
74+
// aarch64-NEXT: addp
75+
// aarch64-NEXT: addp
76+
// aarch64-NEXT: addp
77+
// aarch64-NEXT: umov
6578
simd_bitmask(mask)
6679
}
6780

0 commit comments

Comments
 (0)