|
11 | 11 | ; CHECK-SPIRV-DAG: Capability CooperativeMatrixKHR |
12 | 12 | ; CHECK-SPIRV-DAG: Capability CooperativeMatrixOffsetInstructionsINTEL |
13 | 13 | ; CHECK-SPIRV-DAG: Extension "SPV_INTEL_joint_matrix" |
14 | | -; CHECK-SPIRV-DAG: TypeInt [[#Int16Ty:]] 16 0 // 18 |
15 | | -; CHECK-SPIRV-DAG: TypeInt [[#Int32Ty:]] 32 0 // 106 |
16 | | -; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const16:]] 16 // 112 |
17 | | -; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const3:]] 3 // 113 |
18 | | -; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const2:]] 2 // 114 |
19 | | -; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const0:]] 0 // 116 |
20 | | -; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const1:]] 1 // 133 |
21 | | -; CHECK-SPIRV-DAG: TypeFloat [[#Float32Ty:]] 32 // 8 |
22 | | - |
23 | | -; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy1:]] [[#Float32Ty]] [[#Const16]] [[#Const16]] [[#Const3]] [[#Const3]] [[#Const2]] //TypeJointMatrixINTEL 115 8 112 112 113 113 114 |
24 | | -; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy2:]] [[#Int16Ty]] [[#Const16]] [[#Const16]] [[#Const0]] [[#Const3]] [[#Const0]] [[#Const1]] // TypeJointMatrixINTEL 134 18 112 112 116 113 116 133 |
25 | | -; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy3:]] [[#Int16Ty]] [[#Const16]] [[#Const16]] [[#Const2:]] [[#Const3:]] [[#Const1:]] [[#Const1:]] // TypeJointMatrixINTEL 137 18 112 112 114 113 133 133 |
26 | | -; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy1]] // CooperativeMatrixLoadOffsetINTEL 115 118 104 109 111 116 117 116 |
27 | | -; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy2]] // CooperativeMatrixLoadOffsetINTEL 134 135 121 109 132 116 117 116 |
28 | | -; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy3]] // CooperativeMatrixLoadOffsetINTEL 137 139 124 136 126 114 138 116 |
29 | | -; CHECK-SPIRV: JointMatrixMadINTEL [[#MatTy1]] //JointMatrixMadINTEL 115 127 135 139 128 113 |
30 | | -; CHECK-SPIRV: CooperativeMatrixStoreOffsetINTEL // CooperativeMatrixStoreOffsetINTEL 104 109 111 128 116 117 116 |
| 14 | +; CHECK-SPIRV-DAG: TypeInt [[#Int16Ty:]] 16 0 |
| 15 | +; CHECK-SPIRV-DAG: TypeInt [[#Int32Ty:]] 32 0 |
| 16 | +; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const16:]] 16 |
| 17 | +; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const3:]] 3 |
| 18 | +; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const2:]] 2 |
| 19 | +; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const0:]] 0 |
| 20 | +; CHECK-SPIRV-DAG: Constant [[#Int32Ty]] [[#Const1:]] 1 |
| 21 | +; CHECK-SPIRV-DAG: TypeFloat [[#Float32Ty:]] 32 |
| 22 | +; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy1:]] [[#Float32Ty]] [[#Const16]] [[#Const16]] [[#Const3]] [[#Const3]] [[#Const2]] |
| 23 | +; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy2:]] [[#Int16Ty]] [[#Const16]] [[#Const16]] [[#Const0]] [[#Const3]] [[#Const0]] [[#Const1]] |
| 24 | +; CHECK-SPIRV-DAG: TypeJointMatrixINTEL [[#MatTy3:]] [[#Int16Ty]] [[#Const16]] [[#Const16]] [[#Const2:]] [[#Const3:]] [[#Const1:]] [[#Const1:]] |
| 25 | +; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy1]] |
| 26 | +; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy2]] |
| 27 | +; CHECK-SPIRV: CooperativeMatrixLoadOffsetINTEL [[#MatTy3]] |
| 28 | +; CHECK-SPIRV: JointMatrixMadINTEL [[#MatTy1]] |
| 29 | +; CHECK-SPIRV: CooperativeMatrixStoreOffsetINTEL |
31 | 30 |
|
32 | 31 | ; CHECK-LLVM: call spir_func target("spirv.JointMatrixINTEL", float, 16, 16, 3, 3, 2) @_Z93__spirv_CooperativeMatrixLoadOffsetINTEL_RPU3AS143__spirv_JointMatrixINTEL__float_16_16_3_3_2PU3AS1fiiili(ptr addrspace(1) %add.ptr.i.i, i32 %conv.i, i32 %conv2.i, i32 0, i64 32, i32 0) |
33 | 32 | ; CHECK-LLVM: call spir_func target("spirv.JointMatrixINTEL", i16, 16, 16, 0, 3, 0, 1) @"_Z95__spirv_CooperativeMatrixLoadOffsetINTEL_RPU3AS145__spirv_JointMatrixINTEL__short_16_16_0_3_0_1PU3AS138class.sycl::_V1::ext::oneapi::bfloat16iiili"(ptr addrspace(1) %add.ptr.i.i120, i32 %conv.i, i32 %22, i32 0, i64 32, i32 0) |
34 | 33 | ; CHECK-LLVM: call spir_func target("spirv.JointMatrixINTEL", i16, 16, 16, 2, 3, 1, 1) @"_Z95__spirv_CooperativeMatrixLoadOffsetINTEL_RPU3AS145__spirv_JointMatrixINTEL__short_16_16_2_3_1_1PU3AS138class.sycl::_V1::ext::oneapi::bfloat16iiili"(ptr addrspace(1) %add.ptr.i.i128, i32 %23, i32 %conv2.i60, i32 2, i64 64, i32 0) |
35 | 34 | ; CHECK-LLVM: call spir_func target("spirv.JointMatrixINTEL", float, 16, 16, 3, 3, 2) @_Z27__spirv_JointMatrixMadINTELPU3AS145__spirv_JointMatrixINTEL__short_16_16_0_3_0_1PU3AS145__spirv_JointMatrixINTEL__short_16_16_2_3_1_1PU3AS143__spirv_JointMatrixINTEL__float_16_16_3_3_2i(target("spirv.JointMatrixINTEL", i16, 16, 16, 0, 3, 0, 1) %call3.i50, target("spirv.JointMatrixINTEL", i16, 16, 16, 2, 3, 1, 1) %call3.i61, target("spirv.JointMatrixINTEL", float, 16, 16, 3, 3, 2) %sub_c.i.sroa.0.0, i32 3) |
36 | | - |
| 35 | +; CHECK-LLVM: call spir_func void @_Z41__spirv_CooperativeMatrixStoreOffsetINTELPU3AS1fiiPU3AS143__spirv_JointMatrixINTEL__float_16_16_3_3_2ili(ptr addrspace(1) %add.ptr.i.i, i32 %conv.i, i32 %conv2.i, target("spirv.JointMatrixINTEL", float, 16, 16, 3, 3, 2) %sub_c.i.sroa.0.0, i32 0, i64 32, i32 0) |
37 | 36 |
|
38 | 37 | ; ModuleID = 'joint_matrix_bfloat16.cpp' |
39 | 38 | source_filename = "joint_matrix_bfloat16.cpp" |
@@ -147,9 +146,7 @@ declare dso_local spir_func noundef target("spirv.JointMatrixINTEL", float, 16, |
147 | 146 | ; Function Attrs: convergent nounwind |
148 | 147 | declare dso_local spir_func void @_Z41__spirv_CooperativeMatrixStoreOffsetINTELIU3AS1ffLm16ELm16ELN5__spv9MatrixUseE2ELNS1_12MatrixLayoutE3ELNS1_5Scope4FlagE3EEvPT_iiPNS1_24__spirv_JointMatrixINTELIT0_XT1_EXT2_EXT4_EXT5_EXT3_EEES3_mi(ptr addrspace(1) noundef, i32 noundef, i32 noundef, target("spirv.JointMatrixINTEL", float, 16, 16, 3, 3, 2) noundef, i32 noundef, i64 noundef, i32 noundef) local_unnamed_addr #2 |
149 | 148 |
|
150 | | -declare dso_local spir_func i32 @_Z18__spirv_ocl_printfPU3AS2Kcz(ptr addrspace(2), ...) |
151 | | - |
152 | | -attributes #0 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="../joint_matrix_bfloat16.cpp" "sycl-optlevel"="2" "uniform-work-group-size"="true" } |
| 149 | +attributes #0 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="joint_matrix_bfloat16.cpp" "sycl-optlevel"="2" "uniform-work-group-size"="true" } |
153 | 150 | attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) } |
154 | 151 | attributes #2 = { convergent nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } |
155 | 152 | attributes #3 = { convergent nounwind } |
0 commit comments