|
1 | 1 | ; RUN: llvm-as %s -o %t.bc |
2 | 2 | ; RUN: llvm-spirv %t.bc -spirv-text -o %t |
3 | | -; RUN: FileCheck < %t %s |
| 3 | +; RUN: FileCheck < %t %s --check-prefixes=CHECK,CHECK-TYPED-PTR |
4 | 4 | ; RUN: llvm-spirv %t.bc -o %t.spv |
5 | 5 | ; RUN: spirv-val %t.spv |
6 | 6 |
|
| 7 | +; RUN: llvm-spirv --spirv-ext=+SPV_KHR_untyped_pointers %t.bc -spirv-text -o %t |
| 8 | +; RUN: FileCheck < %t %s --check-prefixes=CHECK,CHECK-UNTYPED-PTR |
| 9 | +; RUN: llvm-spirv --spirv-ext=+SPV_KHR_untyped_pointers %t.bc -o %t.spv |
| 10 | +; TODO: enable back once we support untyped ptr access chaing instructions as spec constant operand |
| 11 | +; R/UN: spirv-val %t.spv |
| 12 | + |
7 | 13 | ; CHECK: 119734787 {{[0-9]*}} {{[0-9]*}} {{[0-9]*}} 0 |
8 | 14 | ; CHECK-NEXT: {{[0-9]*}} Capability |
9 | 15 | ; CHECK: {{[0-9]*}} ExtInstImport |
|
48 | 54 | ; CHECK: {{[0-9]*}} Constant [[TypeInt32]] [[Int32Two:[0-9]+]] 2 |
49 | 55 | ; CHECK: {{[0-9]*}} TypeArray [[TypeArrayInt32:[0-9]+]] [[TypeInt32]] [[Int32Two]] |
50 | 56 | ; CHECK: {{[0-9]*}} TypePointer [[TypePtr5ArrayInt32:[0-9]+]] 5 [[TypeArrayInt32]] |
51 | | -; CHECK: {{[0-9]*}} TypePointer [[TypePtr5Int32:[0-9]+]] 5 [[TypeInt32]] |
52 | | -; CHECK: {{[0-9]*}} TypePointer [[TypePtr5Ptr5Int32:[0-9]+]] 5 [[TypePtr5Int32]] |
| 57 | +; CHECK-TYPED-PTR: {{[0-9]*}} TypePointer [[TypePtr5Int32:[0-9]+]] 5 [[TypeInt32]] |
| 58 | +; CHECK-TYPED-PTR: {{[0-9]*}} TypePointer [[TypePtr5Ptr5Int32:[0-9]+]] 5 [[TypePtr5Int32]] |
| 59 | +; CHECK-UNTYPED-PTR: {{[0-9]*}} TypeUntypedPointerKHR [[Ptr:[0-9]+]] 5 |
53 | 60 | ; CHECK: {{[0-9]*}} TypeFloat [[TypeFloat:[0-9]+]] |
54 | 61 | ; CHECK: {{[0-9]*}} TypeArray [[TypeArrayFloat:[0-9]+]] [[TypeFloat]] [[Int32Two]] |
55 | 62 | ; CHECK: {{[0-9]*}} TypePointer [[TypePtr8ArrayFloat:[0-9]+]] 0 [[TypeArrayFloat]] |
56 | 63 | ; CHECK: {{[0-9]*}} TypeVector [[TypeVectorInt32:[0-9]+]] [[TypeInt32]] 3 |
57 | 64 | ; CHECK: {{[0-9]*}} TypePointer [[TypePtr8VectorInt32:[0-9]+]] 0 [[TypeVectorInt32]] |
58 | | -; CHECK: {{[0-9]*}} TypePointer [[TypePtr0Int8:[0-9]+]] 8 [[TypeInt8]] |
| 65 | +; CHECK-TYPED-PTR: {{[0-9]*}} TypePointer [[TypePtr0Int8:[0-9]+]] 8 [[TypeInt8]] |
| 66 | +; CHECK-UNTYPED-PTR: {{[0-9]*}} TypeUntypedPointerKHR [[TypePtr0Int8:[0-9]+]] 8 |
59 | 67 | ; CHECK: {{[0-9]*}} TypeStruct [[BID:[0-9]+]] {{[0-9]+}} [[TypePtr0Int8]] |
60 | 68 | ; CHECK: {{[0-9]*}} TypeStruct [[CID:[0-9]+]] {{[0-9]+}} [[BID]] |
61 | 69 | ; CHECK: {{[0-9]*}} TypeStruct [[AID:[0-9]+]] {{[0-9]+}} [[CID]] |
62 | 70 | ; CHECK: {{[0-9]*}} TypeVoid [[Void:[0-9]+]] |
63 | | -; CHECK: {{[0-9]*}} TypePointer [[TypePtr5Int8:[0-9]+]] 5 [[TypeInt8]] |
64 | | -; CHECK: {{[0-9]*}} TypeFunction [[TypeBar1:[0-9]+]] [[Void]] [[TypePtr5Int8]] |
| 71 | +; CHECK-TYPED-PTR: {{[0-9]*}} TypePointer [[TypePtr5Int8:[0-9]+]] 5 [[TypeInt8]] |
| 72 | +; CHECK-TYPED-PTR: {{[0-9]*}} TypeFunction [[TypeBar1:[0-9]+]] [[Void]] [[TypePtr5Int8]] |
| 73 | +; CHECK-UNTYPED-PTR: {{[0-9]*}} TypeFunction [[TypeBar1:[0-9]+]] [[Void]] [[Ptr]] |
65 | 74 | ; CHECK: {{[0-9]*}} Variable [[TypePtr5ArrayInt32]] [[Var:[0-9]+]] |
66 | | -; CHECK: {{[0-9]*}} SpecConstantOp [[TypePtr5Int32]] [[SConstOp:[0-9]+]] 70 [[Var]] |
67 | | -; CHECK: {{[0-9]*}} Variable {{[0-9]+}} {{[0-9]+}} 5 [[SConstOp]] |
| 75 | +; CHECK-TYPED-PTR: {{[0-9]*}} SpecConstantOp [[TypePtr5Int32]] [[SConstOp:[0-9]+]] 70 [[Var]] |
| 76 | +; CHECK-UNTYPED-PTR: {{[0-9]*}} SpecConstantOp [[Ptr]] [[SConstOp:[0-9]+]] 4424 [[TypeArrayInt32]] [[Var]] |
| 77 | +; CHECK-TYPED-PTR: {{[0-9]*}} Variable {{[0-9]+}} {{[0-9]+}} 5 [[SConstOp]] |
| 78 | +; CHECK-UNTYPED-PTR: {{[0-9]*}} UntypedVariableKHR {{[0-9]+}} {{[0-9]+}} 5 [[Ptr]] [[SConstOp]] |
68 | 79 |
|
69 | 80 | ; CHECK-NOT: {{[0-9]*}} Capability |
70 | 81 | ; CHECK-NOT: {{[0-9]*}} ExtInstImport |
|
0 commit comments