Fix #3882: Narrow overly-broad CHECK-NOT in 3882.ispc lit test
CHECK-NOT: zeroinitializer also matched unrelated select instructions used for masked address computation on some targets (e.g. host CI's 4-wide target), causing false failures unrelated to the decrement fix. Scope the negative check to the actual buggy pattern: add ..., zeroinitializer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
committed by
aneshlya
co-authored by
Claude Sonnet 5
parent
61b46cc242
commit
7740fa16df
@@ -5,7 +5,7 @@
|
||||
// RUN: %{ispc} %s --target=host --nostdlib --nowrap --emit-llvm-text -o - | FileCheck %s
|
||||
|
||||
// CHECK-LABEL: @u8_predec___
|
||||
// CHECK-NOT: zeroinitializer
|
||||
// CHECK-NOT: add {{.*}}, zeroinitializer
|
||||
// CHECK: add <[[WIDTH:.*]] x i8> {{.*}}, splat (i8 -1)
|
||||
void u8_predec(unsigned int8 v[]) {
|
||||
unsigned int8 x = v[programIndex];
|
||||
@@ -14,7 +14,7 @@ void u8_predec(unsigned int8 v[]) {
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @u8_postdec___
|
||||
// CHECK-NOT: zeroinitializer
|
||||
// CHECK-NOT: add {{.*}}, zeroinitializer
|
||||
// CHECK: add <[[WIDTH]] x i8> {{.*}}, splat (i8 -1)
|
||||
void u8_postdec(unsigned int8 v[]) {
|
||||
unsigned int8 x = v[programIndex];
|
||||
@@ -23,7 +23,7 @@ void u8_postdec(unsigned int8 v[]) {
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @u16_predec___
|
||||
// CHECK-NOT: zeroinitializer
|
||||
// CHECK-NOT: add {{.*}}, zeroinitializer
|
||||
// CHECK: add <[[WIDTH]] x i16> {{.*}}, splat (i16 -1)
|
||||
void u16_predec(unsigned int16 v[]) {
|
||||
unsigned int16 x = v[programIndex];
|
||||
@@ -32,7 +32,7 @@ void u16_predec(unsigned int16 v[]) {
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @u32_predec___
|
||||
// CHECK-NOT: zeroinitializer
|
||||
// CHECK-NOT: add {{.*}}, zeroinitializer
|
||||
// CHECK: add <[[WIDTH]] x i32> {{.*}}, splat (i32 -1)
|
||||
void u32_predec(unsigned int32 v[]) {
|
||||
unsigned int32 x = v[programIndex];
|
||||
@@ -41,7 +41,7 @@ void u32_predec(unsigned int32 v[]) {
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @u64_predec___
|
||||
// CHECK-NOT: zeroinitializer
|
||||
// CHECK-NOT: add {{.*}}, zeroinitializer
|
||||
// CHECK: add <[[WIDTH]] x i64> {{.*}}, splat (i64 -1)
|
||||
void u64_predec(unsigned int64 v[]) {
|
||||
unsigned int64 x = v[programIndex];
|
||||
|
||||
Reference in New Issue
Block a user