Index: llvm/lib/Target/AMDGPU/FLATInstructions.td =================================================================== --- llvm/lib/Target/AMDGPU/FLATInstructions.td +++ llvm/lib/Target/AMDGPU/FLATInstructions.td @@ -748,28 +748,28 @@ (inst $vaddr, $offset) >; -class FlatStorePat : GCNPat < +class FlatStorePat : GCNPat < (node vt:$data, (FLATOffset i64:$vaddr, i16:$offset)), - (inst $vaddr, rc:$data, $offset) + (inst $vaddr, getVregSrcForVT.ret:$data, $offset) >; -class FlatStoreSignedPat : GCNPat < +class FlatStoreSignedPat : GCNPat < (node vt:$data, (FLATOffsetSigned i64:$vaddr, i16:$offset)), - (inst $vaddr, rc:$data, $offset) + (inst $vaddr, getVregSrcForVT.ret:$data, $offset) >; -class FlatStoreAtomicPat : GCNPat < +class FlatStoreAtomicPat : GCNPat < // atomic store follows atomic binop convention so the address comes // first. (node (FLATOffset i64:$vaddr, i16:$offset), vt:$data), - (inst $vaddr, rc:$data, $offset) + (inst $vaddr, getVregSrcForVT.ret:$data, $offset) >; -class FlatStoreSignedAtomicPat : GCNPat < +class FlatStoreSignedAtomicPat : GCNPat < // atomic store follows atomic binop convention so the address comes // first. (node (FLATOffset i64:$vaddr, i16:$offset), vt:$data), - (inst $vaddr, rc:$data, $offset) + (inst $vaddr, getVregSrcForVT.ret:$data, $offset) >; class FlatAtomicPat ; +def : FlatStorePat ; def : FlatLoadPat ; } -def : FlatStorePat ; +def : FlatStorePat ; foreach vt = VReg_128.RegTypes in { def : FlatLoadPat ; -def : FlatStorePat ; +def : FlatStorePat ; } def : FlatStoreAtomicPat ; -def : FlatStoreAtomicPat ; +def : FlatStoreAtomicPat ; def : FlatAtomicPat ; def : FlatAtomicPat ; @@ -896,29 +896,29 @@ foreach vt = Reg32Types.types in { def : FlatLoadSignedPat ; -def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; } foreach vt = VReg_64.RegTypes in { def : FlatLoadSignedPat ; -def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; } def : FlatLoadSignedPat ; foreach vt = VReg_128.RegTypes in { def : FlatLoadSignedPat ; -def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; } def : FlatLoadSignedPat ; def : FlatLoadSignedPat ; -def : FlatStoreSignedPat ; -def : FlatStoreSignedPat ; -def : FlatStoreSignedPat ; -def : FlatStoreSignedPat ; -def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; +def : FlatStoreSignedPat ; let OtherPredicates = [D16PreservesUnusedBits] in { def : FlatStoreSignedPat ; @@ -940,7 +940,7 @@ } def : FlatStoreSignedAtomicPat ; -def : FlatStoreSignedAtomicPat ; +def : FlatStoreSignedAtomicPat ; def : FlatSignedAtomicPat ; def : FlatSignedAtomicPat ;