@@ -515,9 +515,9 @@ module attributes {
515515
516516// Check Image Support.
517517
518- // CHECK: #[[COLMAJMAP:[a-z_]+ ]] = affine_map<(d0, d1) -> (d1, d0)>
518+ // CHECK: #[[$ COLMAJMAP:.* ]] = affine_map<(d0, d1) -> (d1, d0)>
519519#col_major = affine_map <(d0 , d1 ) -> (d1 , d0 )>
520- // CHECK: #[[CUSTOMLAYOUTMAP:[a-z0-9_]+ ]] = affine_map<(d0, d1, d2) -> (d2, d1, d0)>
520+ // CHECK: #[[$ CUSTOMLAYOUTMAP:.* ]] = affine_map<(d0, d1, d2) -> (d2, d1, d0)>
521521#custom = affine_map <(d0 , d1 , d2 ) -> (d2 , d1 , d0 )>
522522module attributes {
523523 spirv.target_env = #spirv.target_env <#spirv.vce <v1.0 , [
@@ -538,8 +538,8 @@ module attributes {
538538 // CHECK-LABEL: @load_from_image_1D(
539539 // CHECK-SAME: %[[ARG0:.*]]: memref<1xf32, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<1xf32, #spirv.storage_class<StorageBuffer>>
540540 func.func @load_from_image_1D (%arg0: memref <1 xf32 , #spirv.storage_class <Image >>, %arg1: memref <1 xf32 , #spirv.storage_class <StorageBuffer >>) {
541- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<1xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>
542- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<1xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim1D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
541+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<1xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>
542+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<1xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim1D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
543543 %cst = arith.constant 0 : index
544544 // CHECK: %[[COORDS:.*]] = builtin.unrealized_conversion_cast %{{.*}} : index to i32
545545 // CHECK: %[[SIMAGE:.*]] = spirv.Load "UniformConstant" %[[IMAGE_PTR]] : !spirv.sampled_image<!spirv.image<f32, Dim1D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>
@@ -556,8 +556,8 @@ module attributes {
556556 // CHECK-LABEL: @load_from_image_2D(
557557 // CHECK-SAME: %[[ARG0:.*]]: memref<2x4xf32, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x4xf32, #spirv.storage_class<StorageBuffer>>
558558 func.func @load_from_image_2D (%arg0: memref <2 x4 xf32 , #spirv.storage_class <Image >>, %arg1: memref <2 x4 xf32 , #spirv.storage_class <StorageBuffer >>) {
559- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<8 x f32, stride=4> [0])>, StorageBuffer>
560- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x4xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
559+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<8 x f32, stride=4> [0])>, StorageBuffer>
560+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x4xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
561561 // CHECK: %[[X:.*]] = arith.constant 3 : index
562562 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
563563 %x = arith.constant 3 : index
@@ -576,10 +576,10 @@ module attributes {
576576 }
577577
578578 // CHECK-LABEL: @load_from_col_major_image_2D(
579- // CHECK-SAME: %[[ARG0:.*]]: memref<2x4xf32, #[[COLMAJMAP]], #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x4xf32, #spirv.storage_class<StorageBuffer>>
579+ // CHECK-SAME: %[[ARG0:.*]]: memref<2x4xf32, #[[$ COLMAJMAP]], #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x4xf32, #spirv.storage_class<StorageBuffer>>
580580 func.func @load_from_col_major_image_2D (%arg0: memref <2 x4 xf32 , #col_major , #spirv.storage_class <Image >>, %arg1: memref <2 x4 xf32 , #spirv.storage_class <StorageBuffer >>) {
581- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<8 x f32, stride=4> [0])>, StorageBuffer>
582- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x4xf32, #[[COLMAJMAP]], #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
581+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<8 x f32, stride=4> [0])>, StorageBuffer>
582+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x4xf32, #[[$ COLMAJMAP]], #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
583583 // CHECK: %[[X:.*]] = arith.constant 3 : index
584584 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
585585 %x = arith.constant 3 : index
@@ -600,8 +600,8 @@ module attributes {
600600 // CHECK-LABEL: @load_from_image_3D(
601601 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3x4xf32, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>>
602602 func.func @load_from_image_3D (%arg0: memref <2 x3 x4 xf32 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 x4 xf32 , #spirv.storage_class <StorageBuffer >>) {
603- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<24 x f32, stride=4> [0])>, StorageBuffer>
604- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3x4xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim3D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
603+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<24 x f32, stride=4> [0])>, StorageBuffer>
604+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3x4xf32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim3D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
605605 // CHECK: %[[X:.*]] = arith.constant 3 : index
606606 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
607607 %x = arith.constant 3 : index
@@ -623,10 +623,10 @@ module attributes {
623623 }
624624
625625 // CHECK-LABEL: @load_from_custom_layout_image_3D(
626- // CHECK-SAME: %[[ARG0:.*]]: memref<2x3x4xf32, #[[CUSTOMLAYOUTMAP]], #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>>
626+ // CHECK-SAME: %[[ARG0:.*]]: memref<2x3x4xf32, #[[$ CUSTOMLAYOUTMAP]], #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>>
627627 func.func @load_from_custom_layout_image_3D (%arg0: memref <2 x3 x4 xf32 , #custom , #spirv.storage_class <Image >>, %arg1: memref <2 x3 x4 xf32 , #spirv.storage_class <StorageBuffer >>) {
628- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<24 x f32, stride=4> [0])>, StorageBuffer>
629- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3x4xf32, #[[CUSTOMLAYOUTMAP]], #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim3D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
628+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3x4xf32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<24 x f32, stride=4> [0])>, StorageBuffer>
629+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3x4xf32, #[[$ CUSTOMLAYOUTMAP]], #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f32, Dim3D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32f>>, UniformConstant>
630630 // CHECK: %[[X:.*]] = arith.constant 3 : index
631631 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
632632 %x = arith.constant 3 : index
@@ -650,8 +650,8 @@ module attributes {
650650 // CHECK-LABEL: @load_from_image_2D_f16(
651651 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3xf16, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3xf16, #spirv.storage_class<StorageBuffer>>
652652 func.func @load_from_image_2D_f16 (%arg0: memref <2 x3 xf16 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 xf16 , #spirv.storage_class <StorageBuffer >>) {
653- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3xf16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x f16, stride=2> [0])>, StorageBuffer>
654- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3xf16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16f>>, UniformConstant>
653+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3xf16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x f16, stride=2> [0])>, StorageBuffer>
654+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3xf16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<f16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16f>>, UniformConstant>
655655 // CHECK: %[[X:.*]] = arith.constant 2 : index
656656 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
657657 %x = arith.constant 2 : index
@@ -672,8 +672,8 @@ module attributes {
672672 // CHECK-LABEL: @load_from_image_2D_i32(
673673 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3xi32, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3xi32, #spirv.storage_class<StorageBuffer>>
674674 func.func @load_from_image_2D_i32 (%arg0: memref <2 x3 xi32 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 xi32 , #spirv.storage_class <StorageBuffer >>) {
675- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3xi32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x i32, stride=4> [0])>, StorageBuffer>
676- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3xi32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<i32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32i>>, UniformConstant>
675+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3xi32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x i32, stride=4> [0])>, StorageBuffer>
676+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3xi32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<i32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32i>>, UniformConstant>
677677 // CHECK: %[[X:.*]] = arith.constant 2 : index
678678 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
679679 %x = arith.constant 2 : index
@@ -694,8 +694,8 @@ module attributes {
694694 // CHECK-LABEL: @load_from_image_2D_ui32(
695695 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3xui32, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3xui32, #spirv.storage_class<StorageBuffer>>
696696 func.func @load_from_image_2D_ui32 (%arg0: memref <2 x3 xui32 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 xui32 , #spirv.storage_class <StorageBuffer >>) {
697- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3xui32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x ui32, stride=4> [0])>, StorageBuffer>
698- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3xui32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<ui32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32ui>>, UniformConstant>
697+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3xui32, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x ui32, stride=4> [0])>, StorageBuffer>
698+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3xui32, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<ui32, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R32ui>>, UniformConstant>
699699 // CHECK: %[[X:.*]] = arith.constant 2 : index
700700 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
701701 %x = arith.constant 2 : index
@@ -716,8 +716,8 @@ module attributes {
716716 // CHECK-LABEL: @load_from_image_2D_i16(
717717 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3xi16, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3xi16, #spirv.storage_class<StorageBuffer>>
718718 func.func @load_from_image_2D_i16 (%arg0: memref <2 x3 xi16 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 xi16 , #spirv.storage_class <StorageBuffer >>) {
719- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3xi16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x i16, stride=2> [0])>, StorageBuffer>
720- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3xi16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<i16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16i>>, UniformConstant>
719+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3xi16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x i16, stride=2> [0])>, StorageBuffer>
720+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3xi16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<i16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16i>>, UniformConstant>
721721 // CHECK: %[[X:.*]] = arith.constant 2 : index
722722 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
723723 %x = arith.constant 2 : index
@@ -738,8 +738,8 @@ module attributes {
738738 // CHECK-LABEL: @load_from_image_2D_ui16(
739739 // CHECK-SAME: %[[ARG0:.*]]: memref<2x3xui16, #spirv.storage_class<Image>>, %[[ARG1:.*]]: memref<2x3xui16, #spirv.storage_class<StorageBuffer>>
740740 func.func @load_from_image_2D_ui16 (%arg0: memref <2 x3 xui16 , #spirv.storage_class <Image >>, %arg1: memref <2 x3 xui16 , #spirv.storage_class <StorageBuffer >>) {
741- // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %arg1 : memref<2x3xui16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x ui16, stride=2> [0])>, StorageBuffer>
742- // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %arg0 : memref<2x3xui16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<ui16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16ui>>, UniformConstant>
741+ // CHECK-DAG: %[[SB:.*]] = builtin.unrealized_conversion_cast %[[ARG1]] : memref<2x3xui16, #spirv.storage_class<StorageBuffer>> to !spirv.ptr<!spirv.struct<(!spirv.array<6 x ui16, stride=2> [0])>, StorageBuffer>
742+ // CHECK-DAG: %[[IMAGE_PTR:.*]] = builtin.unrealized_conversion_cast %[[ARG0]] : memref<2x3xui16, #spirv.storage_class<Image>> to !spirv.ptr<!spirv.sampled_image<!spirv.image<ui16, Dim2D, DepthUnknown, NonArrayed, SingleSampled, NeedSampler, R16ui>>, UniformConstant>
743743 // CHECK: %[[X:.*]] = arith.constant 2 : index
744744 // CHECK: %[[X32:.*]] = builtin.unrealized_conversion_cast %[[X]] : index to i32
745745 %x = arith.constant 2 : index
0 commit comments