|
1 | 1 | ; REQUIRES: asserts |
2 | 2 | ; RUN: opt -mtriple=aarch64-none-linux-gnu -mattr=+sve -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output -scalable-vectorization=off < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK_SCALABLE_DISABLED |
3 | 3 | ; RUN: opt -mtriple=aarch64-none-linux-gnu -mattr=+sve -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output -scalable-vectorization=on < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK_SCALABLE_ON |
4 | | -; RUN: opt -mtriple=aarch64-none-linux-gnu -mattr=+sve -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output -vectorizer-maximize-bandwidth -scalable-vectorization=on < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK_SCALABLE_ON_MAXBW |
| 4 | +; RUN: opt -mtriple=aarch64-none-linux-gnu -mattr=+sve -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output -vectorizer-maximize-bandwidth=false -scalable-vectorization=on < %s 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK_SCALABLE_ON_NOMAXBW |
5 | 5 |
|
6 | 6 | ; Test that the MaxVF for the following loop, that has no dependence distances, |
7 | 7 | ; is calculated as vscale x 4 (max legal SVE vector size) or vscale x 16 |
8 | 8 | ; (maximized bandwidth for i8 in the loop). |
9 | 9 | define void @test0(ptr %a, ptr %b, ptr %c) #0 { |
10 | 10 | ; CHECK: LV: Checking a loop in 'test0' |
11 | | -; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 4 |
12 | | -; CHECK_SCALABLE_ON: LV: Selecting VF: 16 |
| 11 | +; CHECK_SCALABLE_ON: LV: Found feasible scalable VF = vscale x 16 |
| 12 | +; CHECK_SCALABLE_ON: LV: Selecting VF: vscale x 16 |
13 | 13 | ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF |
14 | 14 | ; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16 |
15 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 16 |
16 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: vscale x 16 |
| 15 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Found feasible scalable VF = vscale x 4 |
| 16 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Selecting VF: vscale x 4 |
17 | 17 | entry: |
18 | 18 | br label %loop |
19 | 19 |
|
@@ -43,8 +43,8 @@ define void @test1(ptr %a, ptr %b) #0 { |
43 | 43 | ; CHECK_SCALABLE_ON: LV: Selecting VF: 16 |
44 | 44 | ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF |
45 | 45 | ; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16 |
46 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 4 |
47 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16 |
| 46 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Found feasible scalable VF = vscale x 4 |
| 47 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Selecting VF: vscale x 4 |
48 | 48 | entry: |
49 | 49 | br label %loop |
50 | 50 |
|
@@ -75,8 +75,8 @@ define void @test2(ptr %a, ptr %b) #0 { |
75 | 75 | ; CHECK_SCALABLE_ON: LV: Selecting VF: 16 |
76 | 76 | ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF |
77 | 77 | ; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16 |
78 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 2 |
79 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16 |
| 78 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Found feasible scalable VF = vscale x 2 |
| 79 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Selecting VF: 4 |
80 | 80 | entry: |
81 | 81 | br label %loop |
82 | 82 |
|
@@ -107,8 +107,8 @@ define void @test3(ptr %a, ptr %b) #0 { |
107 | 107 | ; CHECK_SCALABLE_ON: LV: Selecting VF: 16 |
108 | 108 | ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF |
109 | 109 | ; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 16 |
110 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Found feasible scalable VF = vscale x 1 |
111 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 16 |
| 110 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Found feasible scalable VF = vscale x 1 |
| 111 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Selecting VF: 4 |
112 | 112 | entry: |
113 | 113 | br label %loop |
114 | 114 |
|
@@ -140,8 +140,8 @@ define void @test4(ptr %a, ptr %b) #0 { |
140 | 140 | ; CHECK_SCALABLE_ON: LV: Selecting VF: 4 |
141 | 141 | ; CHECK_SCALABLE_DISABLED-NOT: LV: Found feasible scalable VF |
142 | 142 | ; CHECK_SCALABLE_DISABLED: LV: Selecting VF: 4 |
143 | | -; CHECK_SCALABLE_ON_MAXBW-NOT: LV: Found feasible scalable VF |
144 | | -; CHECK_SCALABLE_ON_MAXBW: LV: Selecting VF: 4 |
| 143 | +; CHECK_SCALABLE_ON_NOMAXBW-NOT: LV: Found feasible scalable VF |
| 144 | +; CHECK_SCALABLE_ON_NOMAXBW: LV: Selecting VF: 4 |
145 | 145 | entry: |
146 | 146 | br label %loop |
147 | 147 |
|
|
0 commit comments