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:
Antoni Zwolski
2026-07-19 21:40:29 -07:00
committed by aneshlya
co-authored by Claude Sonnet 5
parent 61b46cc242
commit 7740fa16df
+5 -5
View File
@@ -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];