Lines Matching +full:standard +full:- +full:vt

1 //===-- RISCVInstrInfoZa.td - RISC-V Atomic instructions ---*- tablegen -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file describes the RISC-V instructions from the standard atomic 'Za*'
11 // - Zawrs (v1.0) : Wait-on-Reservation-Set.
12 // - Zacas (v1.0-rc1) : Atomic Compare-and-Swap.
13 // - Zabha (v1.0-rc1) : Byte and Halfword Atomic Memory Operations.
15 //===----------------------------------------------------------------------===//
17 //===----------------------------------------------------------------------===//
18 // Zacas (Atomic Compare-and-Swap)
19 //===----------------------------------------------------------------------===//
71 multiclass AMOCASPat<string AtomicOp, string BaseInst, ValueType vt = XLenVT,
74 def : Pat<(!cast<PatFrag>(AtomicOp#"_monotonic") (vt GPR:$addr),
75 (vt GPR:$cmp),
76 (vt GPR:$new)),
78 def : Pat<(!cast<PatFrag>(AtomicOp#"_acquire") (vt GPR:$addr),
79 (vt GPR:$cmp),
80 (vt GPR:$new)),
82 def : Pat<(!cast<PatFrag>(AtomicOp#"_release") (vt GPR:$addr),
83 (vt GPR:$cmp),
84 (vt GPR:$new)),
86 def : Pat<(!cast<PatFrag>(AtomicOp#"_acq_rel") (vt GPR:$addr),
87 (vt GPR:$cmp),
88 (vt GPR:$new)),
90 def : Pat<(!cast<PatFrag>(AtomicOp#"_seq_cst") (vt GPR:$addr),
91 (vt GPR:$cmp),
92 (vt GPR:$new)),
96 def : Pat<(!cast<PatFrag>(AtomicOp#"_monotonic") (vt GPR:$addr),
97 (vt GPR:$cmp),
98 (vt GPR:$new)),
100 def : Pat<(!cast<PatFrag>(AtomicOp#"_acquire") (vt GPR:$addr),
101 (vt GPR:$cmp),
102 (vt GPR:$new)),
104 def : Pat<(!cast<PatFrag>(AtomicOp#"_release") (vt GPR:$addr),
105 (vt GPR:$cmp),
106 (vt GPR:$new)),
108 def : Pat<(!cast<PatFrag>(AtomicOp#"_acq_rel") (vt GPR:$addr),
109 (vt GPR:$cmp),
110 (vt GPR:$new)),
112 def : Pat<(!cast<PatFrag>(AtomicOp#"_seq_cst") (vt GPR:$addr),
113 (vt GPR:$cmp),
114 (vt GPR:$new)),
122 //===----------------------------------------------------------------------===//
123 // Zawrs (Wait-on-Reservation-Set)
124 //===----------------------------------------------------------------------===//
139 //===----------------------------------------------------------------------===//
141 //===----------------------------------------------------------------------===//