@@ -64,6 +64,7 @@ struct VectorMaskedLoadOpConverter final
64
64
Value mask = maskedLoadOp.getMask ();
65
65
Value base = maskedLoadOp.getBase ();
66
66
Value iValue = maskedLoadOp.getPassThru ();
67
+ std::optional<uint64_t > alignment = maskedLoadOp.getAlignment ();
67
68
auto indices = llvm::to_vector_of<Value>(maskedLoadOp.getIndices ());
68
69
Value one = arith::ConstantOp::create (rewriter, loc, indexType,
69
70
IntegerAttr::get (indexType, 1 ));
@@ -73,8 +74,9 @@ struct VectorMaskedLoadOpConverter final
73
74
auto ifOp = scf::IfOp::create (
74
75
rewriter, loc, maskBit,
75
76
[&](OpBuilder &builder, Location loc) {
76
- auto loadedValue =
77
- memref::LoadOp::create (builder, loc, base, indices);
77
+ auto loadedValue = memref::LoadOp::create (
78
+ builder, loc, base, indices, /* nontemporal=*/ false ,
79
+ alignment.value_or (0 ));
78
80
auto combinedValue =
79
81
vector::InsertOp::create (builder, loc, loadedValue, iValue, i);
80
82
scf::YieldOp::create (builder, loc, combinedValue.getResult ());
@@ -132,6 +134,8 @@ struct VectorMaskedStoreOpConverter final
132
134
Value mask = maskedStoreOp.getMask ();
133
135
Value base = maskedStoreOp.getBase ();
134
136
Value value = maskedStoreOp.getValueToStore ();
137
+ bool nontemporal = false ;
138
+ std::optional<uint64_t > alignment = maskedStoreOp.getAlignment ();
135
139
auto indices = llvm::to_vector_of<Value>(maskedStoreOp.getIndices ());
136
140
Value one = arith::ConstantOp::create (rewriter, loc, indexType,
137
141
IntegerAttr::get (indexType, 1 ));
@@ -141,7 +145,8 @@ struct VectorMaskedStoreOpConverter final
141
145
auto ifOp = scf::IfOp::create (rewriter, loc, maskBit, /* else=*/ false );
142
146
rewriter.setInsertionPointToStart (&ifOp.getThenRegion ().front ());
143
147
auto extractedValue = vector::ExtractOp::create (rewriter, loc, value, i);
144
- memref::StoreOp::create (rewriter, loc, extractedValue, base, indices);
148
+ memref::StoreOp::create (rewriter, loc, extractedValue, base, indices,
149
+ nontemporal, alignment.value_or (0 ));
145
150
146
151
rewriter.setInsertionPointAfter (ifOp);
147
152
indices.back () =
0 commit comments