================
@@ -2121,14 +1863,21 @@ def LHARXL : XForm_1_memOp<31,  116, (outs gprc:$RST), 
(ins (memrr $RA, $RB):$ad
 
 def LWARXL : XForm_1_memOp<31,  20, (outs gprc:$RST), (ins (memrr $RA, 
$RB):$addr),
                      "lwarx $RST, $addr, 1", IIC_LdStLWARX, []>, isRecordForm;
+}
 
 // The atomic instructions use the destination register as well as the next one
 // or two registers in order (modulo 31).
-let hasExtraSrcRegAllocReq = 1 in
-def LWAT : X_RD5_RS5_IM5<31, 582, (outs gprc:$RST), (ins gprc:$RA, u5imm:$RB),
+let hasExtraSrcRegAllocReq = 1, mayLoad = 1, mayStore = 1 in
+def LWAT : X_RD5_RS5_IM5<31, 582, (outs g8prc:$RST), (ins g8prc:$RSTi, 
ptr_rc_nor0:$RA, u5imm:$RB),
----------------
lei137 wrote:

This instruction is now changed to take g8prc but technically this is also 
valid for gprc.  Maybe a codegen only version should be generated for this in 
the 64bit Instr td file?

https://github.com/llvm/llvm-project/pull/168746
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to