forked from OSchip/llvm-project
[OpenCL] make test independent of optimizer
There shouldn't be any tests that run the entire optimizer here, but the last test in this file is definitely going to break with a change in LLVM IR canonicalization. Change that part to check the unoptimized IR because that's the real intent of this file. llvm-svn: 332473
This commit is contained in:
parent
bbc4e9a4e3
commit
cda77b30e5
|
@ -58,16 +58,17 @@ int4 vectorVectorTest(int4 a,int4 b) {
|
|||
return f;
|
||||
}
|
||||
|
||||
//OPT: @vectorScalarTest
|
||||
//NOOPT-LABEL: @vectorScalarTest
|
||||
int4 vectorScalarTest(int4 a,int b) {
|
||||
//OPT: [[SP0:%.+]] = insertelement <4 x i32> undef, i32 %b, i32 0
|
||||
//OPT: [[SP1:%.+]] = shufflevector <4 x i32> [[SP0]], <4 x i32> undef, <4 x i32> zeroinitializer
|
||||
//OPT: [[VSM:%.+]] = and <4 x i32> [[SP1]], <i32 31, i32 31, i32 31, i32 31>
|
||||
//OPT-NEXT: [[VSC:%.+]] = shl <4 x i32> %a, [[VSM]]
|
||||
//NOOPT: [[SP0:%.+]] = insertelement <4 x i32> undef
|
||||
//NOOPT: [[SP1:%.+]] = shufflevector <4 x i32> [[SP0]], <4 x i32> undef, <4 x i32> zeroinitializer
|
||||
//NOOPT: [[VSM:%.+]] = and <4 x i32> [[SP1]], <i32 31, i32 31, i32 31, i32 31>
|
||||
//NOOPT: [[VSC:%.+]] = shl <4 x i32> [[VSS:%.+]], [[VSM]]
|
||||
int4 c = a << b;
|
||||
//OPT-NEXT: [[VSF:%.+]] = add <4 x i32> [[VSC]], <i32 4, i32 4, i32 4, i32 4>
|
||||
//NOOPT: [[VSF:%.+]] = shl <4 x i32> [[VSC1:%.+]], <i32 2, i32 2, i32 2, i32 2>
|
||||
//NOOPT: [[VSA:%.+]] = add <4 x i32> [[VSC2:%.+]], [[VSF]]
|
||||
int4 d = {1, 1, 1, 1};
|
||||
int4 f = c + (d << 34);
|
||||
//OPT-NEXT: ret <4 x i32> [[VSF]]
|
||||
//NOOPT: ret <4 x i32>
|
||||
return f;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue