File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed
test/Transforms/LoopVectorize/AArch64 Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -91,6 +91,10 @@ static cl::opt<bool> EnableZPRPredicateSpills(
91
91
cl::desc(
92
92
" Enables spilling/reloading SVE predicates as data vectors (ZPRs)" ));
93
93
94
+ static cl::opt<unsigned >
95
+ VScaleForTuningOpt (" sve-vscale-for-tuning" , cl::Hidden,
96
+ cl::desc (" Force a vscale for tuning factor for SVE" ));
97
+
94
98
// Subreg liveness tracking is disabled by default for now until all issues
95
99
// are ironed out. This option allows the feature to be used in tests.
96
100
static cl::opt<bool >
@@ -364,6 +368,8 @@ void AArch64Subtarget::initializeProperties(bool HasMinSize) {
364
368
365
369
if (AArch64MinimumJumpTableEntries.getNumOccurrences () > 0 || !HasMinSize)
366
370
MinimumJumpTableEntries = AArch64MinimumJumpTableEntries;
371
+ if (VScaleForTuningOpt.getNumOccurrences () > 0 )
372
+ VScaleForTuning = VScaleForTuningOpt;
367
373
}
368
374
369
375
AArch64Subtarget::AArch64Subtarget (const Triple &TT, StringRef CPU,
Original file line number Diff line number Diff line change 7
7
; RUN: -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output < %s 2>&1 \
8
8
; RUN: | FileCheck %s --check-prefixes=VSCALEFORTUNING1
9
9
10
+ ; RUN: opt -mtriple=aarch64 -mattr=+sve -mcpu=generic -sve-vscale-for-tuning=2 \
11
+ ; RUN: -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output < %s 2>&1 \
12
+ ; RUN: | FileCheck %s --check-prefixes=VSCALEFORTUNING2
13
+
10
14
; RUN: opt -mtriple=aarch64 -mcpu=neoverse-v1 \
11
15
; RUN: -force-target-instruction-cost=1 -passes=loop-vectorize -S -debug-only=loop-vectorize --disable-output < %s 2>&1 \
12
16
; RUN: | FileCheck %s --check-prefixes=VSCALEFORTUNING2
You can’t perform that action at this time.
0 commit comments