|
7 | 7 | ; <rdar://problem/12702735> [ARM64][coalescer] need better register
|
8 | 8 | ; coalescing for simple unit tests.
|
9 | 9 |
|
10 |
| -; FIXME: This regressed after enabling opaque pointers. |
11 | 10 | define i32 @test_inttoptr() nounwind {
|
12 | 11 | ; CHECK-LABEL: test_inttoptr:
|
13 | 12 | ; CHECK: // %bb.0: // %entry
|
14 | 13 | ; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
|
15 |
| -; CHECK-NEXT: mov x8, #0 // =0x0 |
16 |
| -; CHECK-NEXT: mov w9, #1288 // =0x508 |
17 |
| -; CHECK-NEXT: mov x10, #4294967296 // =0x100000000 |
18 |
| -; CHECK-NEXT: mov x11, #6442450944 // =0x180000000 |
| 14 | +; CHECK-NEXT: mov w8, #1288 // =0x508 |
| 15 | +; CHECK-NEXT: mov x9, #4294967296 // =0x100000000 |
| 16 | +; CHECK-NEXT: mov x10, #6442450944 // =0x180000000 |
19 | 17 | ; CHECK-NEXT: .LBB0_1: // %while.body
|
20 | 18 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
21 |
| -; CHECK-NEXT: ldr x12, [x8, x10] |
22 |
| -; CHECK-NEXT: str x12, [x8, x11] |
23 |
| -; CHECK-NEXT: add x8, x8, #8 |
24 |
| -; CHECK-NEXT: subs x9, x9, #8 |
| 19 | +; CHECK-NEXT: ldr x11, [x9], #8 |
| 20 | +; CHECK-NEXT: str x11, [x10], #8 |
| 21 | +; CHECK-NEXT: subs x8, x8, #8 |
25 | 22 | ; CHECK-NEXT: b.pl .LBB0_1
|
26 | 23 | ; CHECK-NEXT: // %bb.2: // %while.end
|
27 | 24 | ; CHECK-NEXT: mov x8, #6442450944 // =0x180000000
|
@@ -55,18 +52,16 @@ while.end: ; preds = %while.body
|
55 | 52 | define ptr @test_globals() nounwind {
|
56 | 53 | ; CHECK-LABEL: test_globals:
|
57 | 54 | ; CHECK: // %bb.0: // %entry
|
58 |
| -; CHECK-NEXT: mov x8, #0 // =0x0 |
59 |
| -; CHECK-NEXT: mov w9, #1288 // =0x508 |
60 |
| -; CHECK-NEXT: adrp x10, g2 |
61 |
| -; CHECK-NEXT: add x10, x10, :lo12:g2 |
62 |
| -; CHECK-NEXT: adrp x11, g1 |
63 |
| -; CHECK-NEXT: add x11, x11, :lo12:g1 |
| 55 | +; CHECK-NEXT: mov w8, #1288 // =0x508 |
| 56 | +; CHECK-NEXT: adrp x9, g2 |
| 57 | +; CHECK-NEXT: add x9, x9, :lo12:g2 |
| 58 | +; CHECK-NEXT: adrp x10, g1 |
| 59 | +; CHECK-NEXT: add x10, x10, :lo12:g1 |
64 | 60 | ; CHECK-NEXT: .LBB1_1: // %while.body
|
65 | 61 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
66 |
| -; CHECK-NEXT: ldr x12, [x10, x8] |
67 |
| -; CHECK-NEXT: str x12, [x11, x8] |
68 |
| -; CHECK-NEXT: add x8, x8, #8 |
69 |
| -; CHECK-NEXT: subs x9, x9, #8 |
| 62 | +; CHECK-NEXT: ldr x11, [x9], #8 |
| 63 | +; CHECK-NEXT: str x11, [x10], #8 |
| 64 | +; CHECK-NEXT: subs x8, x8, #8 |
70 | 65 | ; CHECK-NEXT: b.pl .LBB1_1
|
71 | 66 | ; CHECK-NEXT: // %bb.2: // %while.end
|
72 | 67 | ; CHECK-NEXT: adrp x0, g1
|
|
0 commit comments