@@ -34,7 +34,7 @@ func.func @vector_ext_short(%v: vector<2xf8E5M2FNUZ>) -> vector<2xf64> {
34
34
35
35
// CHECK-LABEL: func.func @vector_ext_long
36
36
// CHECK-SAME: ([[V:%.+]]: vector<9xf8E4M3FNUZ>)
37
- // CHECK: [[V0:%.+]] = vector.extract_strided_slice [[V]] {offsets = [0], sizes = [4], strides = [1]}
37
+ // CHECK: [[V0:%.+]] = vector.extract_strided_slice [[V]][0:4:1]
38
38
// CHECK: [[F0:%.+]] = amdgpu.ext_packed_fp8 [[V0]][0]
39
39
// CHECK: [[W0:%.+]] = vector.insert [[F0]]
40
40
// CHECK: [[F1:%.+]] = amdgpu.ext_packed_fp8 [[V0]][1]
@@ -44,7 +44,7 @@ func.func @vector_ext_short(%v: vector<2xf8E5M2FNUZ>) -> vector<2xf64> {
44
44
// CHECK: [[F3:%.+]] = amdgpu.ext_packed_fp8 [[V0]][3]
45
45
// CHECK: [[W3:%.+]] = vector.insert [[F3]], [[W2]]
46
46
47
- // CHECK: [[V1:%.+]] = vector.extract_strided_slice [[V]] {offsets = [4], sizes = [4], strides = [1]} : vector<9xf8E4M3FNUZ> to vector<4xf8E4M3FNUZ>
47
+ // CHECK: [[V1:%.+]] = vector.extract_strided_slice [[V]][4:4:1] : vector<9xf8E4M3FNUZ> to vector<4xf8E4M3FNUZ>
48
48
// CHECK: [[F4:%.+]] = amdgpu.ext_packed_fp8 [[V1]][0]
49
49
// CHECK: [[W4:%.+]] = vector.insert [[F4]], [[W3]]
50
50
// CHECK: [[F5:%.+]] = amdgpu.ext_packed_fp8 [[V1]][1]
@@ -54,7 +54,7 @@ func.func @vector_ext_short(%v: vector<2xf8E5M2FNUZ>) -> vector<2xf64> {
54
54
// CHECK: [[F7:%.+]] = amdgpu.ext_packed_fp8 [[V1]][3]
55
55
// CHECK: [[W7:%.+]] = vector.insert [[F7]], [[W6]]
56
56
57
- // CHECK: [[V2:%.+]] = vector.extract_strided_slice [[V]] {offsets = [8], sizes = [1], strides = [1]} : vector<9xf8E4M3FNUZ> to vector<1xf8E4M3FNUZ>
57
+ // CHECK: [[V2:%.+]] = vector.extract_strided_slice [[V]][8:1:1] : vector<9xf8E4M3FNUZ> to vector<1xf8E4M3FNUZ>
58
58
// CHECK: [[F8:%.+]] = amdgpu.ext_packed_fp8 [[V2]][0]
59
59
// CHECK: [[W8:%.+]] = vector.insert [[F8]], [[W7]]
60
60
// CHECK: return [[W8]]
@@ -87,7 +87,7 @@ func.func @scalar_trunc(%v: f16) -> f8E5M2FNUZ {
87
87
// CHECK: [[V1:%.+]] = vector.extract [[V]][1]
88
88
// CHECK: [[F1:%.+]] = arith.truncf [[V1]] : f64 to f32
89
89
// CHECK: [[W0:%.+]] = amdgpu.packed_trunc_2xfp8 [[F0]], [[F1]] into undef[word 0] : f32 to vector<4xf8E5M2FNUZ>
90
- // CHECK: [[W:%.+]] = vector.extract_strided_slice [[W0]] {offsets = [0], sizes = [2], strides = [1]} : vector<4xf8E5M2FNUZ> to vector<2xf8E5M2FNUZ>
90
+ // CHECK: [[W:%.+]] = vector.extract_strided_slice [[W0]][0:2:1] : vector<4xf8E5M2FNUZ> to vector<2xf8E5M2FNUZ>
91
91
// CHECK: return [[W]] : vector<2xf8E5M2FNUZ>
92
92
func.func @vector_trunc_short (%v: vector <2 xf64 >) -> vector <2 xf8 E5 M2 FNUZ> {
93
93
%w = arith.truncf %v : vector <2 xf64 > to vector <2 xf8 E5 M2 FNUZ>
@@ -101,15 +101,15 @@ func.func @vector_trunc_short(%v: vector<2xf64>) -> vector<2xf8E5M2FNUZ> {
101
101
// CHECK: [[ZEROES:%.+]] = arith.constant dense<0.000000e+00> : vector<9xf8E4M3FNUZ>
102
102
// CHECK: [[T0:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into undef[word 0]
103
103
// CHECK: [[T1:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into [[T0]][word 1]
104
- // CHECK: [[W0:%.+]] = vector.insert_strided_slice [[T1]], [[ZEROES]] {offsets = [0], strides = [1]}
104
+ // CHECK: [[W0:%.+]] = vector.insert_strided_slice [[T1]], [[ZEROES]][0:1]
105
105
106
106
// CHECK: [[T2:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into undef[word 0]
107
107
// CHECK: [[T3:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into [[T2]][word 1]
108
- // CHECK: [[W1:%.+]] = vector.insert_strided_slice [[T3]], [[W0]] {offsets = [4], strides = [1]}
108
+ // CHECK: [[W1:%.+]] = vector.insert_strided_slice [[T3]], [[W0]][4:1]
109
109
110
110
// CHECK: [[T4:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, undef into undef[word 0]
111
- // CHECK: [[T4_SHORT:%.+]] = vector.extract_strided_slice [[T4]] {offsets = [0], sizes = [1], strides = [1]}
112
- // CHECK: [[W:%.+]] = vector.insert_strided_slice [[T4_SHORT]], [[W1]] {offsets = [8], strides = [1]}
111
+ // CHECK: [[T4_SHORT:%.+]] = vector.extract_strided_slice [[T4]][0:1:1]
112
+ // CHECK: [[W:%.+]] = vector.insert_strided_slice [[T4_SHORT]], [[W1]][8:1]
113
113
// CHECK: return [[W]]
114
114
func.func @vector_trunc_long (%v: vector <9 xf32 >) -> vector <9 xf8 E4 M3 FNUZ> {
115
115
%w = arith.truncf %v : vector <9 xf32 > to vector <9 xf8 E4 M3 FNUZ>
@@ -123,15 +123,15 @@ func.func @vector_trunc_long(%v: vector<9xf32>) -> vector<9xf8E4M3FNUZ> {
123
123
// CHECK: [[ZEROES:%.+]] = arith.constant dense<0.000000e+00> : vector<9xf8E4M3FNUZ>
124
124
// CHECK: [[T0:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into undef[word 0]
125
125
// CHECK: [[T1:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into [[T0]][word 1]
126
- // CHECK: [[W0:%.+]] = vector.insert_strided_slice [[T1]], [[ZEROES]] {offsets = [0], strides = [1]}
126
+ // CHECK: [[W0:%.+]] = vector.insert_strided_slice [[T1]], [[ZEROES]][0:1]
127
127
128
128
// CHECK: [[T2:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into undef[word 0]
129
129
// CHECK: [[T3:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, %{{.+}} into [[T2]][word 1]
130
- // CHECK: [[W1:%.+]] = vector.insert_strided_slice [[T3]], [[W0]] {offsets = [4], strides = [1]}
130
+ // CHECK: [[W1:%.+]] = vector.insert_strided_slice [[T3]], [[W0]][4:1]
131
131
132
132
// CHECK: [[T4:%.+]] = amdgpu.packed_trunc_2xfp8 %{{.+}}, undef into undef[word 0]
133
- // CHECK: [[T4_SHORT:%.+]] = vector.extract_strided_slice [[T4]] {offsets = [0], sizes = [1], strides = [1]}
134
- // CHECK: [[W:%.+]] = vector.insert_strided_slice [[T4_SHORT]], [[W1]] {offsets = [8], strides = [1]}
133
+ // CHECK: [[T4_SHORT:%.+]] = vector.extract_strided_slice [[T4]][0:1:1]
134
+ // CHECK: [[W:%.+]] = vector.insert_strided_slice [[T4_SHORT]], [[W1]][8:1]
135
135
// CHECK: [[RE:%.+]] = vector.shape_cast [[W]] : vector<9xf8E4M3FNUZ> to vector<1x9xf8E4M3FNUZ>
136
136
// CHECK: return [[RE]]
137
137
func.func @vector_trunc_long_2d (%v: vector <1 x9 xf32 >) -> vector <1 x9 xf8 E4 M3 FNUZ> {
@@ -144,7 +144,7 @@ func.func @vector_trunc_long_2d(%v: vector<1x9xf32>) -> vector<1x9xf8E4M3FNUZ> {
144
144
// CHECK-LABEL: func.func @vector_ext_long_2d
145
145
// CHECK-SAME: ([[V:%.+]]: vector<1x9xf8E4M3FNUZ>)
146
146
// CHECK: [[CAST:%.+]] = vector.shape_cast [[V]] : vector<1x9xf8E4M3FNUZ> to vector<9xf8E4M3FNUZ>
147
- // CHECK: [[V0:%.+]] = vector.extract_strided_slice [[CAST]] {offsets = [0], sizes = [4], strides = [1]}
147
+ // CHECK: [[V0:%.+]] = vector.extract_strided_slice [[CAST]][0:4:1]
148
148
// CHECK: [[F0:%.+]] = amdgpu.ext_packed_fp8 [[V0]][0]
149
149
// CHECK: [[W0:%.+]] = vector.insert [[F0]]
150
150
// CHECK: [[F1:%.+]] = amdgpu.ext_packed_fp8 [[V0]][1]
@@ -154,7 +154,7 @@ func.func @vector_trunc_long_2d(%v: vector<1x9xf32>) -> vector<1x9xf8E4M3FNUZ> {
154
154
// CHECK: [[F3:%.+]] = amdgpu.ext_packed_fp8 [[V0]][3]
155
155
// CHECK: [[W3:%.+]] = vector.insert [[F3]], [[W2]]
156
156
157
- // CHECK: [[V1:%.+]] = vector.extract_strided_slice [[CAST]] {offsets = [4], sizes = [4], strides = [1]} : vector<9xf8E4M3FNUZ> to vector<4xf8E4M3FNUZ>
157
+ // CHECK: [[V1:%.+]] = vector.extract_strided_slice [[CAST]][4:4:1] : vector<9xf8E4M3FNUZ> to vector<4xf8E4M3FNUZ>
158
158
// CHECK: [[F4:%.+]] = amdgpu.ext_packed_fp8 [[V1]][0]
159
159
// CHECK: [[W4:%.+]] = vector.insert [[F4]], [[W3]]
160
160
// CHECK: [[F5:%.+]] = amdgpu.ext_packed_fp8 [[V1]][1]
@@ -164,7 +164,7 @@ func.func @vector_trunc_long_2d(%v: vector<1x9xf32>) -> vector<1x9xf8E4M3FNUZ> {
164
164
// CHECK: [[F7:%.+]] = amdgpu.ext_packed_fp8 [[V1]][3]
165
165
// CHECK: [[W7:%.+]] = vector.insert [[F7]], [[W6]]
166
166
167
- // CHECK: [[V2:%.+]] = vector.extract_strided_slice [[CAST]] {offsets = [8], sizes = [1], strides = [1]} : vector<9xf8E4M3FNUZ> to vector<1xf8E4M3FNUZ>
167
+ // CHECK: [[V2:%.+]] = vector.extract_strided_slice [[CAST]][8:1:1] : vector<9xf8E4M3FNUZ> to vector<1xf8E4M3FNUZ>
168
168
// CHECK: [[F8:%.+]] = amdgpu.ext_packed_fp8 [[V2]][0]
169
169
// CHECK: [[W8:%.+]] = vector.insert [[F8]], [[W7]]
170
170
// CHECK: [[CAST:%.+]] = vector.shape_cast [[W8]] : vector<9xf32> to vector<1x9xf32>
0 commit comments