@@ -24,20 +24,38 @@ func @vector_transfer_ops(%arg0: memref<?x?xf32>) {
24
24
25
25
// CHECK-LABEL: @vector_broadcast
26
26
func @vector_broadcast (%a: f32 , %b: vector <16 xf32 >, %c: vector <1 x16 xf32 >, %d: vector <8 x1 xf32 >) -> vector <8 x16 xf32 > {
27
- // CHECK: vector.broadcast %{{.*}} : f32 to vector<16xf32>
27
+ // CHECK: vector.broadcast %{{.*}} : f32 to vector<16xf32>
28
28
%0 = vector.broadcast %a : f32 to vector <16 xf32 >
29
- // CHECK-NEXT: vector.broadcast %{{.*}} : vector<16xf32> to vector<8x16xf32>
29
+ // CHECK-NEXT: vector.broadcast %{{.*}} : vector<16xf32> to vector<8x16xf32>
30
30
%1 = vector.broadcast %b : vector <16 xf32 > to vector <8 x16 xf32 >
31
- // CHECK-NEXT: vector.broadcast %{{.*}} : vector<1x16xf32> to vector<8x16xf32>
31
+ // CHECK-NEXT: vector.broadcast %{{.*}} : vector<1x16xf32> to vector<8x16xf32>
32
32
%2 = vector.broadcast %c : vector <1 x16 xf32 > to vector <8 x16 xf32 >
33
- // CHECK-NEXT: vector.broadcast %{{.*}} : vector<8x1xf32> to vector<8x16xf32>
33
+ // CHECK-NEXT: vector.broadcast %{{.*}} : vector<8x1xf32> to vector<8x16xf32>
34
34
%3 = vector.broadcast %d : vector <8 x1 xf32 > to vector <8 x16 xf32 >
35
35
return %3 : vector <8 x16 xf32 >
36
36
}
37
37
38
+ // CHECK-LABEL: @shuffle1D
39
+ func @shuffle1D (%a: vector <2 xf32 >, %b: vector <4 xf32 >) -> vector <2 xf32 > {
40
+ // CHECK: vector.shuffle %{{.*}}, %{{.*}}[0 : i32, 1 : i32, 2 : i32, 3 : i32] : vector<2xf32>, vector<2xf32>
41
+ %1 = vector.shuffle %a , %a [0 : i32 , 1 : i32 , 2 : i32 , 3 : i32 ] : vector <2 xf32 >, vector <2 xf32 >
42
+ // CHECK-NEXT: vector.shuffle %{{.*}}, %{{.*}}[0 : i32, 1 : i32, 2 : i32] : vector<4xf32>, vector<4xf32>
43
+ %2 = vector.shuffle %1 , %b [0 : i32 , 1 : i32 , 2 : i32 ] : vector <4 xf32 >, vector <4 xf32 >
44
+ // CHECK-NEXT: vector.shuffle %{{.*}}, %{{.*}}[0 : i32, 6 : i32] : vector<3xf32>, vector<4xf32>
45
+ %3 = vector.shuffle %2 , %b [0 : i32 , 6 : i32 ] : vector <3 xf32 >, vector <4 xf32 >
46
+ return %3 : vector <2 xf32 >
47
+ }
48
+
49
+ // CHECK-LABEL: @shuffle2D
50
+ func @shuffle2D (%a: vector <1 x4 xf32 >, %b: vector <2 x4 xf32 >) -> vector <3 x4 xf32 > {
51
+ // CHECK: vector.shuffle %{{.*}}, %{{.*}}[0 : i32, 1 : i32, 2 : i32] : vector<1x4xf32>, vector<2x4xf32>
52
+ %1 = vector.shuffle %a , %b [0 : i32 , 1 : i32 , 2 : i32 ] : vector <1 x4 xf32 >, vector <2 x4 xf32 >
53
+ return %1 : vector <3 x4 xf32 >
54
+ }
55
+
38
56
// CHECK-LABEL: @extract
39
57
func @extract (%arg0: vector <4 x8 x16 xf32 >) -> (vector <8 x16 xf32 >, vector <16 xf32 >, f32 ) {
40
- // CHECK: vector.extract {{.*}}[3 : i32] : vector<4x8x16xf32>
58
+ // CHECK: vector.extract {{.*}}[3 : i32] : vector<4x8x16xf32>
41
59
%1 = vector.extract %arg0 [3 : i32 ] : vector <4 x8 x16 xf32 >
42
60
// CHECK-NEXT: vector.extract {{.*}}[3 : i32, 3 : i32] : vector<4x8x16xf32>
43
61
%2 = vector.extract %arg0 [3 : i32 , 3 : i32 ] : vector <4 x8 x16 xf32 >
@@ -47,35 +65,35 @@ func @extract(%arg0: vector<4x8x16xf32>) -> (vector<8x16xf32>, vector<16xf32>, f
47
65
}
48
66
49
67
// CHECK-LABEL: @insert
50
- func @insert (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >, %res: vector <4 x8 x16 xf32 >) {
51
- // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32] : vector<8x16xf32> into vector<4x8x16xf32>
68
+ func @insert (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >, %res: vector <4 x8 x16 xf32 >) -> vector < 4 x 8 x 16 x f32 > {
69
+ // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32] : vector<8x16xf32> into vector<4x8x16xf32>
52
70
%1 = vector.insert %c , %res [3 : i32 ] : vector <8 x16 xf32 > into vector <4 x8 x16 xf32 >
53
- // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32, 3 : i32] : vector<16xf32> into vector<4x8x16xf32>
71
+ // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32, 3 : i32] : vector<16xf32> into vector<4x8x16xf32>
54
72
%2 = vector.insert %b , %res [3 : i32 , 3 : i32 ] : vector <16 xf32 > into vector <4 x8 x16 xf32 >
55
- // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32, 3 : i32, 3 : i32] : f32 into vector<4x8x16xf32>
73
+ // CHECK: vector.insert %{{.*}}, %{{.*}}[3 : i32, 3 : i32, 3 : i32] : f32 into vector<4x8x16xf32>
56
74
%3 = vector.insert %a , %res [3 : i32 , 3 : i32 , 3 : i32 ] : f32 into vector <4 x8 x16 xf32 >
57
- return
75
+ return %3 : vector < 4 x 8 x 16 x f32 >
58
76
}
59
77
60
78
// CHECK-LABEL: @outerproduct
61
79
func @outerproduct (%arg0: vector <4 xf32 >, %arg1: vector <8 xf32 >, %arg2: vector <4 x8 xf32 >) -> vector <4 x8 xf32 > {
62
- // CHECK: vector.outerproduct {{.*}} : vector<4xf32>, vector<8xf32>
80
+ // CHECK: vector.outerproduct {{.*}} : vector<4xf32>, vector<8xf32>
63
81
%0 = vector.outerproduct %arg0 , %arg1 : vector <4 xf32 >, vector <8 xf32 >
64
- // CHECK: vector.outerproduct {{.*}}, {{.*}}, {{.*}} : vector<4xf32>, vector<8xf32>
82
+ // CHECK: vector.outerproduct {{.*}}, {{.*}}, {{.*}} : vector<4xf32>, vector<8xf32>
65
83
%1 = vector.outerproduct %arg0 , %arg1 , %arg2 : vector <4 xf32 >, vector <8 xf32 >
66
84
return %1 : vector <4 x8 xf32 >
67
85
}
68
86
69
87
// CHECK-LABEL: @insert_strided_slice
70
88
func @insert_strided_slice (%a: vector <4 x4 xf32 >, %b: vector <4 x8 x16 xf32 >) {
71
- // CHECK: vector.insert_strided_slice %{{.*}}, %{{.*}} {offsets = [2, 2, 2], strides = [1, 1]} : vector<4x4xf32> into vector<4x8x16xf32>
89
+ // CHECK: vector.insert_strided_slice %{{.*}}, %{{.*}} {offsets = [2, 2, 2], strides = [1, 1]} : vector<4x4xf32> into vector<4x8x16xf32>
72
90
%1 = vector.insert_strided_slice %a , %b {offsets = [2 , 2 , 2 ], strides = [1 , 1 ]} : vector <4 x4 xf32 > into vector <4 x8 x16 xf32 >
73
91
return
74
92
}
75
93
76
94
// CHECK-LABEL: @strided_slice
77
95
func @strided_slice (%arg0: vector <4 x8 x16 xf32 >) -> vector <2 x2 x16 xf32 > {
78
- // CHECK: vector.strided_slice %{{.*}} {offsets = [2, 2], sizes = [2, 2], strides = [1, 1]} : vector<4x8x16xf32>
96
+ // CHECK: vector.strided_slice %{{.*}} {offsets = [2, 2], sizes = [2, 2], strides = [1, 1]} : vector<4x8x16xf32>
79
97
%1 = vector.strided_slice %arg0 {offsets = [2 , 2 ], sizes = [2 , 2 ], strides = [1 , 1 ]} : vector <4 x8 x16 xf32 > to vector <2 x2 x16 xf32 >
80
98
return %1: vector <2 x2 x16 xf32 >
81
99
}
0 commit comments