|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
2 | 2 | ;RUN: llc < %s --mtriple=powerpc64-unknown-linux-gnu -mattr=+altivec | FileCheck %s -check-prefix=BE
|
3 | 3 | ;RUN: llc < %s --mtriple=powerpc64le-unknown-linux-gnu -mattr=+altivec | FileCheck %s -check-prefix=LE
|
| 4 | +;RUN: llc < %s --mtriple=powerpc64-unknown-linux-gnu -mattr=+altivec -ppc-gather-alias-max-depth=0 | FileCheck %s -check-prefix=FORWARD |
4 | 5 |
|
5 | 6 | define <8 x i32> @test_large_vec_vaarg(i32 %n, ...) {
|
6 | 7 | ; BE-LABEL: test_large_vec_vaarg:
|
@@ -35,6 +36,22 @@ define <8 x i32> @test_large_vec_vaarg(i32 %n, ...) {
|
35 | 36 | ; LE-NEXT: lxvd2x 0, 0, 3
|
36 | 37 | ; LE-NEXT: xxswapd 35, 0
|
37 | 38 | ; LE-NEXT: blr
|
| 39 | +; |
| 40 | +; FORWARD-LABEL: test_large_vec_vaarg: |
| 41 | +; FORWARD: # %bb.0: |
| 42 | +; FORWARD-NEXT: ld 3, -8(1) |
| 43 | +; FORWARD-NEXT: addi 3, 3, 15 |
| 44 | +; FORWARD-NEXT: rldicr 3, 3, 0, 59 |
| 45 | +; FORWARD-NEXT: addi 4, 3, 16 |
| 46 | +; FORWARD-NEXT: std 4, -8(1) |
| 47 | +; FORWARD-NEXT: ld 4, -8(1) |
| 48 | +; FORWARD-NEXT: lvx 2, 0, 3 |
| 49 | +; FORWARD-NEXT: addi 4, 4, 15 |
| 50 | +; FORWARD-NEXT: rldicr 3, 4, 0, 59 |
| 51 | +; FORWARD-NEXT: addi 4, 3, 16 |
| 52 | +; FORWARD-NEXT: std 4, -8(1) |
| 53 | +; FORWARD-NEXT: lvx 3, 0, 3 |
| 54 | +; FORWARD-NEXT: blr |
38 | 55 | %args = alloca ptr, align 4
|
39 | 56 | %x = va_arg ptr %args, <8 x i32>
|
40 | 57 | ret <8 x i32> %x
|
|
0 commit comments