Lines Matching refs:kind

90 multiclass WaitPat<ValueType ty, Intrinsic kind, string inst> {
92 Pat<(i32 (kind (AddrOps32 offset32_op:$offset, I32:$addr), ty:$exp, I64:$timeout)),
96 Pat<(i32 (kind (AddrOps64 offset64_op:$offset, I64:$addr), ty:$exp, I64:$timeout)),
201 multiclass AStorePat<ValueType ty, PatFrag kind, string inst> {
202 def : Pat<(kind ty:$val, (AddrOps32 offset32_op:$offset, I32:$addr)),
205 def : Pat<(kind ty:$val, (AddrOps64 offset64_op:$offset, I64:$addr)),
224 class trunc_astore_64<PatFrag kind> :
226 (kind (i32 (trunc (i64 node:$val))), node:$addr)>;
338 multiclass BinRMWPat<ValueType ty, PatFrag kind, string inst> {
339 def : Pat<(ty (kind (AddrOps32 offset32_op:$offset, I32:$addr), ty:$val)),
342 def : Pat<(ty (kind (AddrOps64 offset64_op:$offset, I64:$addr), ty:$val)),
370 class zext_bin_rmw_8_32<PatFrag kind> :
371 PatFrag<(ops node:$addr, node:$val), (i32 (kind node:$addr, node:$val))>;
372 class zext_bin_rmw_16_32<PatFrag kind> : zext_bin_rmw_8_32<kind>;
373 class zext_bin_rmw_8_64<PatFrag kind> :
375 (zext (i32 (kind node:$addr, (i32 (trunc (i64 node:$val))))))>;
376 class zext_bin_rmw_16_64<PatFrag kind> : zext_bin_rmw_8_64<kind>;
377 class zext_bin_rmw_32_64<PatFrag kind> : zext_bin_rmw_8_64<kind>;
384 class sext_bin_rmw_8_32<PatFrag kind> :
385 PatFrag<(ops node:$addr, node:$val), (kind node:$addr, node:$val)>;
386 class sext_bin_rmw_16_32<PatFrag kind> : sext_bin_rmw_8_32<kind>;
387 class sext_bin_rmw_8_64<PatFrag kind> :
389 (anyext (i32 (kind node:$addr, (i32 (trunc (i64 node:$val))))))>;
390 class sext_bin_rmw_16_64<PatFrag kind> : sext_bin_rmw_8_64<kind>;
479 multiclass TerRMWPat<ValueType ty, PatFrag kind, string inst> {
480 def : Pat<(ty (kind (AddrOps32 offset32_op:$offset, I32:$addr), ty:$exp, ty:$new)),
483 def : Pat<(ty (kind (AddrOps64 offset64_op:$offset, I64:$addr), ty:$exp, ty:$new)),
494 class zext_ter_rmw_8_32<PatFrag kind> :
496 (i32 (kind node:$addr, node:$exp, node:$new))>;
497 class zext_ter_rmw_16_32<PatFrag kind> : zext_ter_rmw_8_32<kind>;
498 class zext_ter_rmw_8_64<PatFrag kind> :
500 (zext (i32 (assertzext (i32 (kind node:$addr,
503 class zext_ter_rmw_16_64<PatFrag kind> : zext_ter_rmw_8_64<kind>;
504 class zext_ter_rmw_32_64<PatFrag kind> :
506 (zext (i32 (kind node:$addr,
514 class sext_ter_rmw_8_32<PatFrag kind> :
516 (kind node:$addr, node:$exp, node:$new)>;
517 class sext_ter_rmw_16_32<PatFrag kind> : sext_ter_rmw_8_32<kind>;
518 class sext_ter_rmw_8_64<PatFrag kind> :
521 (kind node:$addr,
524 class sext_ter_rmw_16_64<PatFrag kind> : sext_ter_rmw_8_64<kind>;