5
5
// CHECK-SAME: %[[B:.*1]]: vector<3xf32>
6
6
// CHECK: %[[C0:.*]] = arith.constant dense<0.000000e+00> : vector<2x3xf32>
7
7
// CHECK: %[[T0:.*]] = vector.extract %[[A]][0] : f32 from vector<2xf32>
8
- // CHECK: %[[T1:.*]] = vector.splat %[[T0]] : vector<3xf32>
8
+ // CHECK: %[[T1:.*]] = vector.broadcast %[[T0]] : f32 to vector<3xf32>
9
9
// CHECK: %[[T2:.*]] = arith.mulf %[[T1]], %[[B]] : vector<3xf32>
10
10
// CHECK: %[[T3:.*]] = vector.insert %[[T2]], %[[C0]] [0] : vector<3xf32> into vector<2x3xf32>
11
11
// CHECK: %[[T4:.*]] = vector.extract %[[A]][1] : f32 from vector<2xf32>
12
- // CHECK: %[[T5:.*]] = vector.splat %[[T4]] : vector<3xf32>
12
+ // CHECK: %[[T5:.*]] = vector.broadcast %[[T4]] : f32 to vector<3xf32>
13
13
// CHECK: %[[T6:.*]] = arith.mulf %[[T5]], %[[B]] : vector<3xf32>
14
14
// CHECK: %[[T7:.*]] = vector.insert %[[T6]], %[[T3]] [1] : vector<3xf32> into vector<2x3xf32>
15
15
// CHECK: return %[[T7]] : vector<2x3xf32>
@@ -26,12 +26,12 @@ func.func @outerproduct_noacc(%arg0: vector<2xf32>,
26
26
// CHECK-SAME: %[[C:.*2]]: vector<2x3xf32>
27
27
// CHECK: %[[C0:.*]] = arith.constant dense<0.000000e+00> : vector<2x3xf32>
28
28
// CHECK: %[[T0:.*]] = vector.extract %[[A]][0] : f32 from vector<2xf32>
29
- // CHECK: %[[T1:.*]] = vector.splat %[[T0]] : vector<3xf32>
29
+ // CHECK: %[[T1:.*]] = vector.broadcast %[[T0]] : f32 to vector<3xf32>
30
30
// CHECK: %[[T2:.*]] = vector.extract %[[C]][0] : vector<3xf32> from vector<2x3xf32>
31
31
// CHECK: %[[T3:.*]] = vector.fma %[[T1]], %[[B]], %[[T2]] : vector<3xf32>
32
32
// CHECK: %[[T4:.*]] = vector.insert %[[T3]], %[[C0]] [0] : vector<3xf32> into vector<2x3xf32>
33
33
// CHECK: %[[T5:.*]] = vector.extract %[[A]][1] : f32 from vector<2xf32>
34
- // CHECK: %[[T6:.*]] = vector.splat %[[T5]] : vector<3xf32>
34
+ // CHECK: %[[T6:.*]] = vector.broadcast %[[T5]] : f32 to vector<3xf32>
35
35
// CHECK: %[[T7:.*]] = vector.extract %[[C]][1] : vector<3xf32> from vector<2x3xf32>
36
36
// CHECK: %[[T8:.*]] = vector.fma %[[T6]], %[[B]], %[[T7]] : vector<3xf32>
37
37
// CHECK: %[[T9:.*]] = vector.insert %[[T8]], %[[T4]] [1] : vector<3xf32> into vector<2x3xf32>
@@ -49,11 +49,11 @@ func.func @outerproduct_acc(%arg0: vector<2xf32>,
49
49
// CHECK-SAME: %[[B:.*1]]: vector<3xi32>
50
50
// CHECK: %[[C0:.*]] = arith.constant dense<0> : vector<2x3xi32>
51
51
// CHECK: %[[T0:.*]] = vector.extract %[[A]][0] : i32 from vector<2xi32>
52
- // CHECK: %[[T1:.*]] = vector.splat %[[T0]] : vector<3xi32>
52
+ // CHECK: %[[T1:.*]] = vector.broadcast %[[T0]] : i32 to vector<3xi32>
53
53
// CHECK: %[[T2:.*]] = arith.muli %[[T1]], %[[B]] : vector<3xi32>
54
54
// CHECK: %[[T3:.*]] = vector.insert %[[T2]], %[[C0]] [0] : vector<3xi32> into vector<2x3xi32>
55
55
// CHECK: %[[T4:.*]] = vector.extract %[[A]][1] : i32 from vector<2xi32>
56
- // CHECK: %[[T5:.*]] = vector.splat %[[T4]] : vector<3xi32>
56
+ // CHECK: %[[T5:.*]] = vector.broadcast %[[T4]] : i32 to vector<3xi32>
57
57
// CHECK: %[[T6:.*]] = arith.muli %[[T5]], %[[B]] : vector<3xi32>
58
58
// CHECK: %[[T7:.*]] = vector.insert %[[T6]], %[[T3]] [1] : vector<3xi32> into vector<2x3xi32>
59
59
// CHECK: return %[[T7]] : vector<2x3xi32>
@@ -69,13 +69,13 @@ func.func @outerproduct_noacc_int(%arg0: vector<2xi32>,
69
69
// CHECK-SAME: %[[C:.*2]]: vector<2x3xi32>
70
70
// CHECK: %[[C0:.*]] = arith.constant dense<0> : vector<2x3xi32>
71
71
// CHECK: %[[T0:.*]] = vector.extract %[[A]][0] : i32 from vector<2xi32>
72
- // CHECK: %[[T1:.*]] = vector.splat %[[T0]] : vector<3xi32>
72
+ // CHECK: %[[T1:.*]] = vector.broadcast %[[T0]] : i32 to vector<3xi32>
73
73
// CHECK: %[[T2:.*]] = vector.extract %[[C]][0] : vector<3xi32> from vector<2x3xi32>
74
74
// CHECK: %[[T3:.*]] = arith.muli %[[T1]], %[[B]] : vector<3xi32>
75
75
// CHECK: %[[T4:.*]] = arith.addi %[[T3]], %[[T2]] : vector<3xi32>
76
76
// CHECK: %[[T5:.*]] = vector.insert %[[T4]], %[[C0]] [0] : vector<3xi32> into vector<2x3xi32>
77
77
// CHECK: %[[T6:.*]] = vector.extract %[[A]][1] : i32 from vector<2xi32>
78
- // CHECK: %[[T7:.*]] = vector.splat %[[T6]] : vector<3xi32>
78
+ // CHECK: %[[T7:.*]] = vector.broadcast %[[T6]] : i32 to vector<3xi32>
79
79
// CHECK: %[[T8:.*]] = vector.extract %[[C]][1] : vector<3xi32> from vector<2x3xi32>
80
80
// CHECK: %[[T9:.*]] = arith.muli %[[T7]], %[[B]] : vector<3xi32>
81
81
// CHECK: %[[T10:.*]] = arith.addi %[[T9]], %[[T8]] : vector<3xi32>
@@ -91,7 +91,7 @@ func.func @outerproduct_acc_int(%arg0: vector<2xi32>,
91
91
// CHECK-LABEL: func @axpy_fp(
92
92
// CHECK-SAME: %[[A:.*0]]: vector<16xf32>,
93
93
// CHECK-SAME: %[[B:.*1]]: f32)
94
- // CHECK: %[[T0:.*]] = vector.splat %[[B]] : vector<16xf32>
94
+ // CHECK: %[[T0:.*]] = vector.broadcast %[[B]] : f32 to vector<16xf32>
95
95
// CHECK: %[[T1:.*]] = arith.mulf %[[A]], %[[T0]] : vector<16xf32>
96
96
// CHECK: return %[[T1]] : vector<16xf32>
97
97
func.func @axpy_fp (%arg0: vector <16 xf32 >, %arg1: f32 ) -> vector <16 xf32 > {
@@ -103,7 +103,7 @@ func.func @axpy_fp(%arg0: vector<16xf32>, %arg1: f32) -> vector<16xf32> {
103
103
// CHECK-SAME: %[[A:.*0]]: vector<16xf32>,
104
104
// CHECK-SAME: %[[B:.*1]]: f32,
105
105
// CHECK-SAME: %[[C:.*2]]: vector<16xf32>)
106
- // CHECK: %[[T0:.*]] = vector.splat %[[B]] : vector<16xf32>
106
+ // CHECK: %[[T0:.*]] = vector.broadcast %[[B]] : f32 to vector<16xf32>
107
107
// CHECK: %[[T1:.*]] = vector.fma %[[A]], %[[T0]], %[[C]] : vector<16xf32>
108
108
// CHECK: return %[[T1]] : vector<16xf32>
109
109
func.func @axpy_fp_add (%arg0: vector <16 xf32 >, %arg1: f32 , %arg2 : vector <16 xf32 >) -> vector <16 xf32 > {
@@ -114,7 +114,7 @@ func.func @axpy_fp_add(%arg0: vector<16xf32>, %arg1: f32, %arg2 : vector<16xf32>
114
114
// CHECK-LABEL: func @axpy_int(
115
115
// CHECK-SAME: %[[A:.*0]]: vector<16xi32>,
116
116
// CHECK-SAME: %[[B:.*1]]: i32)
117
- // CHECK: %[[T0:.*]] = vector.splat %[[B]] : vector<16xi32>
117
+ // CHECK: %[[T0:.*]] = vector.broadcast %[[B]] : i32 to vector<16xi32>
118
118
// CHECK: %[[T1:.*]] = arith.muli %[[A]], %[[T0]] : vector<16xi32>
119
119
// CHECK: return %[[T1]] : vector<16xi32>
120
120
func.func @axpy_int (%arg0: vector <16 xi32 >, %arg1: i32 ) -> vector <16 xi32 > {
@@ -126,7 +126,7 @@ func.func @axpy_int(%arg0: vector<16xi32>, %arg1: i32) -> vector<16xi32> {
126
126
// CHECK-SAME: %[[A:.*0]]: vector<16xi32>,
127
127
// CHECK-SAME: %[[B:.*1]]: i32,
128
128
// CHECK-SAME: %[[C:.*2]]: vector<16xi32>)
129
- // CHECK: %[[T0:.*]] = vector.splat %[[B]] : vector<16xi32>
129
+ // CHECK: %[[T0:.*]] = vector.broadcast %[[B]] : i32 to vector<16xi32>
130
130
// CHECK: %[[T1:.*]] = arith.muli %[[A]], %[[T0]] : vector<16xi32>
131
131
// CHECK: %[[T2:.*]] = arith.addi %[[T1]], %[[C]] : vector<16xi32>
132
132
// CHECK: return %[[T2]] : vector<16xi32>
0 commit comments