Skip to content

Commit 5c42b6c

Browse files
Thomas Preud'hommememfrob
authored andcommitted
[test, LoopVectorize] Fix use of var defined in CHECK-NOT
LLVM test Transforms/LoopVectorize/X86/x86-pr39099.ll tries to check for the absence of a sequence of instructions with several CHECK-NOT with one of those directives using a variable defined in another. However CHECK-NOT are checked independently so that is using a variable defined in a pattern that should not occur in the input. This commit only checks for the absence of a widened load which rules out the presence of the whole sequence and does not involve an undefined variable. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D99583
1 parent 739bb74 commit 5c42b6c

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

llvm/test/Transforms/LoopVectorize/X86/x86-pr39099.ll

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
2929
;CHECK-NEXT: %{{.*}} = shl nuw nsw <8 x i32> %[[VECIND]], <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
3030
;CHECK-NEXT: %[[M:.+]] = extractelement <8 x i1> %[[VMASK]], i32 0
3131
;CHECK-NEXT: br i1 %[[M]], label %pred.load.if, label %pred.load.continue
32-
;CHECK-NOT: %[[WIDEVEC:.+]] = load <16 x i8>, <16 x i8>* %{{.*}}, align 1
33-
;CHECK-NOT: %{{.*}} = shufflevector <16 x i8> %[[WIDEVEC]], <16 x i8> undef, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
32+
;CHECK-NOT: %{{.+}} = load <16 x i8>, <16 x i8>* %{{.*}}, align 1
3433

3534
define dso_local void @masked_strided(i8* noalias nocapture readonly %p, i8* noalias nocapture %q, i8 zeroext %guard) local_unnamed_addr {
3635
entry:

0 commit comments

Comments
 (0)