Lines Matching refs:Pat
17 def : Pat<(atomic_fence (i64 4), (imm)), (DMB (i32 0x9))>;
18 def : Pat<(atomic_fence (imm), (imm)), (DMB (i32 0xb))>;
44 def : Pat<(acquiring_load<atomic_load_8> GPR64sp:$ptr), (LDARB GPR64sp:$ptr)>;
45 def : Pat<(relaxed_load<atomic_load_8> (ro_Windexed8 GPR64sp:$Rn, GPR32:$Rm,
48 def : Pat<(relaxed_load<atomic_load_8> (ro_Xindexed8 GPR64sp:$Rn, GPR64:$Rm,
51 def : Pat<(relaxed_load<atomic_load_8> (am_indexed8 GPR64sp:$Rn,
54 def : Pat<(relaxed_load<atomic_load_8>
59 def : Pat<(acquiring_load<atomic_load_16> GPR64sp:$ptr), (LDARH GPR64sp:$ptr)>;
60 def : Pat<(relaxed_load<atomic_load_16> (ro_Windexed16 GPR64sp:$Rn, GPR32:$Rm,
63 def : Pat<(relaxed_load<atomic_load_16> (ro_Xindexed16 GPR64sp:$Rn, GPR64:$Rm,
66 def : Pat<(relaxed_load<atomic_load_16> (am_indexed16 GPR64sp:$Rn,
69 def : Pat<(relaxed_load<atomic_load_16>
74 def : Pat<(acquiring_load<atomic_load_32> GPR64sp:$ptr), (LDARW GPR64sp:$ptr)>;
75 def : Pat<(relaxed_load<atomic_load_32> (ro_Windexed32 GPR64sp:$Rn, GPR32:$Rm,
78 def : Pat<(relaxed_load<atomic_load_32> (ro_Xindexed32 GPR64sp:$Rn, GPR64:$Rm,
81 def : Pat<(relaxed_load<atomic_load_32> (am_indexed32 GPR64sp:$Rn,
84 def : Pat<(relaxed_load<atomic_load_32>
89 def : Pat<(acquiring_load<atomic_load_64> GPR64sp:$ptr), (LDARX GPR64sp:$ptr)>;
90 def : Pat<(relaxed_load<atomic_load_64> (ro_Windexed64 GPR64sp:$Rn, GPR32:$Rm,
93 def : Pat<(relaxed_load<atomic_load_64> (ro_Xindexed64 GPR64sp:$Rn, GPR64:$Rm,
96 def : Pat<(relaxed_load<atomic_load_64> (am_indexed64 GPR64sp:$Rn,
99 def : Pat<(relaxed_load<atomic_load_64>
127 def : Pat<(releasing_store<atomic_store_8> GPR64sp:$ptr, GPR32:$val),
129 def : Pat<(relaxed_store<atomic_store_8>
133 def : Pat<(relaxed_store<atomic_store_8>
137 def : Pat<(relaxed_store<atomic_store_8>
140 def : Pat<(relaxed_store<atomic_store_8>
145 def : Pat<(releasing_store<atomic_store_16> GPR64sp:$ptr, GPR32:$val),
147 def : Pat<(relaxed_store<atomic_store_16> (ro_Windexed16 GPR64sp:$Rn, GPR32:$Rm,
151 def : Pat<(relaxed_store<atomic_store_16> (ro_Xindexed16 GPR64sp:$Rn, GPR64:$Rm,
155 def : Pat<(relaxed_store<atomic_store_16>
158 def : Pat<(relaxed_store<atomic_store_16>
163 def : Pat<(releasing_store<atomic_store_32> GPR64sp:$ptr, GPR32:$val),
165 def : Pat<(relaxed_store<atomic_store_32> (ro_Windexed32 GPR64sp:$Rn, GPR32:$Rm,
169 def : Pat<(relaxed_store<atomic_store_32> (ro_Xindexed32 GPR64sp:$Rn, GPR64:$Rm,
173 def : Pat<(relaxed_store<atomic_store_32>
176 def : Pat<(relaxed_store<atomic_store_32>
181 def : Pat<(releasing_store<atomic_store_64> GPR64sp:$ptr, GPR64:$val),
183 def : Pat<(relaxed_store<atomic_store_64> (ro_Windexed64 GPR64sp:$Rn, GPR32:$Rm,
187 def : Pat<(relaxed_store<atomic_store_64> (ro_Xindexed64 GPR64sp:$Rn, GPR64:$Rm,
191 def : Pat<(relaxed_store<atomic_store_64>
194 def : Pat<(relaxed_store<atomic_store_64>
220 def : Pat<(ldxr_1 GPR64sp:$addr),
222 def : Pat<(ldxr_2 GPR64sp:$addr),
224 def : Pat<(ldxr_4 GPR64sp:$addr),
226 def : Pat<(ldxr_8 GPR64sp:$addr), (LDXRX GPR64sp:$addr)>;
228 def : Pat<(and (ldxr_1 GPR64sp:$addr), 0xff),
230 def : Pat<(and (ldxr_2 GPR64sp:$addr), 0xffff),
232 def : Pat<(and (ldxr_4 GPR64sp:$addr), 0xffffffff),
253 def : Pat<(ldaxr_1 GPR64sp:$addr),
255 def : Pat<(ldaxr_2 GPR64sp:$addr),
257 def : Pat<(ldaxr_4 GPR64sp:$addr),
259 def : Pat<(ldaxr_8 GPR64sp:$addr), (LDAXRX GPR64sp:$addr)>;
261 def : Pat<(and (ldaxr_1 GPR64sp:$addr), 0xff),
263 def : Pat<(and (ldaxr_2 GPR64sp:$addr), 0xffff),
265 def : Pat<(and (ldaxr_4 GPR64sp:$addr), 0xffffffff),
291 def : Pat<(stxr_1 GPR64:$val, GPR64sp:$addr),
293 def : Pat<(stxr_2 GPR64:$val, GPR64sp:$addr),
295 def : Pat<(stxr_4 GPR64:$val, GPR64sp:$addr),
297 def : Pat<(stxr_8 GPR64:$val, GPR64sp:$addr),
300 def : Pat<(stxr_1 (zext (and GPR32:$val, 0xff)), GPR64sp:$addr),
302 def : Pat<(stxr_2 (zext (and GPR32:$val, 0xffff)), GPR64sp:$addr),
304 def : Pat<(stxr_4 (zext GPR32:$val), GPR64sp:$addr),
307 def : Pat<(stxr_1 (and GPR64:$val, 0xff), GPR64sp:$addr),
309 def : Pat<(stxr_2 (and GPR64:$val, 0xffff), GPR64sp:$addr),
311 def : Pat<(stxr_4 (and GPR64:$val, 0xffffffff), GPR64sp:$addr),
337 def : Pat<(stlxr_1 GPR64:$val, GPR64sp:$addr),
339 def : Pat<(stlxr_2 GPR64:$val, GPR64sp:$addr),
341 def : Pat<(stlxr_4 GPR64:$val, GPR64sp:$addr),
343 def : Pat<(stlxr_8 GPR64:$val, GPR64sp:$addr),
346 def : Pat<(stlxr_1 (zext (and GPR32:$val, 0xff)), GPR64sp:$addr),
348 def : Pat<(stlxr_2 (zext (and GPR32:$val, 0xffff)), GPR64sp:$addr),
350 def : Pat<(stlxr_4 (zext GPR32:$val), GPR64sp:$addr),
353 def : Pat<(stlxr_1 (and GPR64:$val, 0xff), GPR64sp:$addr),
355 def : Pat<(stlxr_2 (and GPR64:$val, 0xffff), GPR64sp:$addr),
357 def : Pat<(stlxr_4 (and GPR64:$val, 0xffffffff), GPR64sp:$addr),
363 def : Pat<(int_aarch64_clrex), (CLREX 0xf)>;