File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -232,15 +232,23 @@ class AtomicAddVectorizeRewriter : public StmtExprMutator {
232232 const IntImm memory_order =
233233 node->args .size () >= 3 ? Downcast<IntImm>(node->args [2 ]) : IntImm (0 );
234234 Array<PrimExpr> new_args;
235+ Call address_of_dst =
236+ Call (DataType::Handle (), builtin::address_of (), {dst_node});
237+ Call address_of_value =
238+ Call (DataType::Handle (), builtin::address_of (), {value_node});
235239 if (vector_size_ == 4 ) {
236240 new_args.push_back (StringImm (" AtomicAddx4" ));
241+ new_args.push_back (address_of_dst);
242+ new_args.push_back (address_of_value);
237243 } else if (vector_size_ == 2 ) {
238244 new_args.push_back (StringImm (" AtomicAddx2" ));
245+ new_args.push_back (address_of_dst);
246+ new_args.push_back (address_of_value);
239247 } else {
240248 new_args.push_back (StringImm (" AtomicAdd" ));
249+ new_args.push_back (dst_node);
250+ new_args.push_back (value_node);
241251 }
242- new_args.push_back (dst_node);
243- new_args.push_back (value_node);
244252 new_args.push_back (memory_order);
245253
246254 Call new_call =
You can’t perform that action at this time.
0 commit comments