|
1 | 1 | # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
2 |
| -# RUN: llc -march=aarch64 -run-pass=legalizer %s -o - | FileCheck %s |
| 2 | +# RUN: llc -march=aarch64 -run-pass=legalizer -global-isel-abort=1 %s -o - | FileCheck %s |
3 | 3 | ---
|
4 | 4 | name: test_scalar_mul_small
|
5 | 5 | body: |
|
@@ -31,7 +31,7 @@ body: |
|
31 | 31 | ; CHECK: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[COPY]], [[COPY1]]
|
32 | 32 | ; CHECK: [[SMULH:%[0-9]+]]:_(s64) = G_SMULH [[COPY]], [[COPY1]]
|
33 | 33 | ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 63
|
34 |
| - ; CHECK: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[MUL]], [[C]] |
| 34 | + ; CHECK: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[MUL]], [[C]](s64) |
35 | 35 | ; CHECK: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[SMULH]](s64), [[ASHR]]
|
36 | 36 | ; CHECK: $x0 = COPY [[MUL]](s64)
|
37 | 37 | ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY [[ICMP]](s32)
|
@@ -66,3 +66,28 @@ body: |
|
66 | 66 | $w0 = COPY %4(s32)
|
67 | 67 |
|
68 | 68 | ...
|
| 69 | +--- |
| 70 | +name: vector_mul_scalarize |
| 71 | +liveins: |
| 72 | + - { reg: '$q0' } |
| 73 | + - { reg: '$q1' } |
| 74 | +body: | |
| 75 | + bb.1: |
| 76 | + liveins: $q0, $q1 |
| 77 | +
|
| 78 | + ; CHECK-LABEL: name: vector_mul_scalarize |
| 79 | + ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0 |
| 80 | + ; CHECK: [[COPY1:%[0-9]+]]:_(<2 x s64>) = COPY $q1 |
| 81 | + ; CHECK: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY]](<2 x s64>) |
| 82 | + ; CHECK: [[UV2:%[0-9]+]]:_(s64), [[UV3:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY1]](<2 x s64>) |
| 83 | + ; CHECK: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[UV]], [[UV2]] |
| 84 | + ; CHECK: [[MUL1:%[0-9]+]]:_(s64) = G_MUL [[UV1]], [[UV3]] |
| 85 | + ; CHECK: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[MUL]](s64), [[MUL1]](s64) |
| 86 | + ; CHECK: $q0 = COPY [[BUILD_VECTOR]](<2 x s64>) |
| 87 | + ; CHECK: RET_ReallyLR implicit $q0 |
| 88 | + %0:_(<2 x s64>) = COPY $q0 |
| 89 | + %1:_(<2 x s64>) = COPY $q1 |
| 90 | + %2:_(<2 x s64>) = G_MUL %0, %1 |
| 91 | + $q0 = COPY %2(<2 x s64>) |
| 92 | + RET_ReallyLR implicit $q0 |
| 93 | +... |
0 commit comments