|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
1 | 2 | ; RUN: llc -mtriple=hexagon -mattr=-packets -hexagon-check-bank-conflict=0 < %s | FileCheck %s
|
2 |
| -; Do not check stores. They undergo some optimizations in the DAG combiner |
3 |
| -; resulting in getting out of order. There is likely little that can be |
4 |
| -; done to keep the original order. |
5 | 3 |
|
6 | 4 | target triple = "hexagon"
|
7 | 5 |
|
8 | 6 | %s.0 = type { i32, i32, i32 }
|
9 | 7 |
|
10 | 8 | ; Function Attrs: nounwind
|
11 | 9 | define void @f0(ptr %a0, ptr %a1) #0 {
|
| 10 | +; CHECK-LABEL: f0: |
| 11 | +; CHECK: // %bb.0: // %b0 |
| 12 | +; CHECK-NEXT: { |
| 13 | +; CHECK-NEXT: r2 = memw(r1+#0) |
| 14 | +; CHECK-NEXT: } |
| 15 | +; CHECK-NEXT: { |
| 16 | +; CHECK-NEXT: r29 = add(r29,#-8) |
| 17 | +; CHECK-NEXT: } |
| 18 | +; CHECK-NEXT: { |
| 19 | +; CHECK-NEXT: memw(r0+#0) = r2 |
| 20 | +; CHECK-NEXT: } |
| 21 | +; CHECK-NEXT: { |
| 22 | +; CHECK-NEXT: memw(r29+#0) = r0 |
| 23 | +; CHECK-NEXT: } |
| 24 | +; CHECK-NEXT: { |
| 25 | +; CHECK-NEXT: r2 = memw(r1+#4) |
| 26 | +; CHECK-NEXT: } |
| 27 | +; CHECK-NEXT: { |
| 28 | +; CHECK-NEXT: memw(r29+#4) = r1 |
| 29 | +; CHECK-NEXT: } |
| 30 | +; CHECK-NEXT: { |
| 31 | +; CHECK-NEXT: r29 = add(r29,#8) |
| 32 | +; CHECK-NEXT: } |
| 33 | +; CHECK-NEXT: { |
| 34 | +; CHECK-NEXT: memw(r0+#4) = r2 |
| 35 | +; CHECK-NEXT: } |
| 36 | +; CHECK-NEXT: { |
| 37 | +; CHECK-NEXT: r2 = memw(r1+#8) |
| 38 | +; CHECK-NEXT: } |
| 39 | +; CHECK-NEXT: { |
| 40 | +; CHECK-NEXT: memw(r0+#8) = r2 |
| 41 | +; CHECK-NEXT: } |
| 42 | +; CHECK-NEXT: { |
| 43 | +; CHECK-NEXT: jumpr r31 |
| 44 | +; CHECK-NEXT: } |
12 | 45 | b0:
|
13 |
| -; CHECK: = memw({{.*}}+#0) |
14 |
| -; CHECK: = memw({{.*}}+#4) |
15 |
| -; CHECK: = memw({{.*}}+#8) |
16 | 46 | %v0 = alloca ptr, align 4
|
17 | 47 | %v1 = alloca ptr, align 4
|
18 | 48 | store ptr %a0, ptr %v0, align 4
|
|
0 commit comments