|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
1 | 2 | ; RUN: llc < %s -mtriple=aarch64-unknown | FileCheck %s
|
2 | 3 |
|
3 | 4 | ; PR32273
|
4 | 5 |
|
5 | 6 | define void @signbits_vXi1(<4 x i16> %a1) {
|
6 |
| -; CHECK-LABEL: signbits_vXi1 |
7 |
| -; CHECK: cmgt v0.4h, v1.4h, v0.4h |
8 |
| -; CHECK-NEXT: and v0.8b, v0.8b, v2.8b |
9 |
| -; CHECK-NEXT: shl v0.4h, v0.4h, #15 |
10 |
| -; CHECK-NEXT: sshr v0.4h, v0.4h, #15 |
11 |
| -; CHECK-NEXT: umov w0, v0.h[0] |
12 |
| -; CHECK-NEXT: umov w3, v0.h[3] |
13 |
| -; CHECK-NEXT: mov w1, wzr |
14 |
| -; CHECK-NEXT: mov w2, wzr |
15 |
| -; CHECK-NEXT: b foo |
| 7 | +; CHECK-LABEL: signbits_vXi1: |
| 8 | +; CHECK: // %bb.0: |
| 9 | +; CHECK-NEXT: adrp x8, .LCPI0_0 |
| 10 | +; CHECK-NEXT: ldr d1, [x8, :lo12:.LCPI0_0] |
| 11 | +; CHECK-NEXT: adrp x8, .LCPI0_1 |
| 12 | +; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0 |
| 13 | +; CHECK-NEXT: ldr d2, [x8, :lo12:.LCPI0_1] |
| 14 | +; CHECK-NEXT: dup v0.4h, v0.h[0] |
| 15 | +; CHECK-NEXT: add v0.4h, v0.4h, v1.4h |
| 16 | +; CHECK-NEXT: movi v1.4h, #1 |
| 17 | +; CHECK-NEXT: cmgt v0.4h, v1.4h, v0.4h |
| 18 | +; CHECK-NEXT: and v0.8b, v0.8b, v2.8b |
| 19 | +; CHECK-NEXT: shl v0.4h, v0.4h, #15 |
| 20 | +; CHECK-NEXT: sshr v0.4h, v0.4h, #15 |
| 21 | +; CHECK-NEXT: umov w0, v0.h[0] |
| 22 | +; CHECK-NEXT: umov w3, v0.h[3] |
| 23 | +; CHECK-NEXT: mov w1, wzr |
| 24 | +; CHECK-NEXT: mov w2, wzr |
| 25 | +; CHECK-NEXT: b foo |
16 | 26 | %tmp3 = shufflevector <4 x i16> %a1, <4 x i16> undef, <4 x i32> zeroinitializer
|
17 | 27 | %tmp5 = add <4 x i16> %tmp3, <i16 18249, i16 6701, i16 -18744, i16 -25086>
|
18 | 28 | %tmp6 = icmp slt <4 x i16> %tmp5, <i16 1, i16 1, i16 1, i16 1>
|
|
0 commit comments