Skip to content

Commit 81865ad

Browse files
committed
refresh
1 parent 1102a58 commit 81865ad

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -754,26 +754,30 @@ foreach dim = [1, 2, 3, 4, 5] in {
754754

755755
defvar frag_pat = (int_nvvm_prefetch_tensormap node:$addr);
756756

757-
def prefetch_tensormap_const : PatFrag<!setdagop(frag_pat, ops), frag_pat, AS_match.const>;
758-
def prefetch_tensormap_gen : PatFrag<!setdagop(frag_pat, ops), frag_pat, AS_match.generic>;
759-
def prefetch_tensormap_param : PatFrag<!setdagop(frag_pat, ops), frag_pat, AS_match.param>;
757+
multiclass PREFETCH_TENSORMAP_PATFRAG<string suffix, code predicate> {
758+
def !tolower(suffix) : PatFrag<!setdagop(frag_pat, ops), frag_pat, predicate>;
759+
}
760+
761+
defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"CONST", AS_match.const>;
762+
defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"GENERIC", AS_match.generic>;
763+
defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"PARAM", AS_match.param>;
760764

761765
multiclass PREFETCH_TENSORMAP_INST<string addrspace_name, PatFrag pattern_frag> {
762766
def "" : BasicNVPTXInst<(outs), (ins ADDR:$addr),
763-
!strconcat("prefetch", !if(!eq(addrspace_name, ""), "",
764-
!strconcat(".", addrspace_name)), ".tensormap [$addr];"),
767+
"prefetch" # addrspace_name # ".tensormap",
765768
[(pattern_frag addr:$addr)]>,
766769
Requires<[hasPTX<80>, hasSM<90>]>;
767770
}
768771

769-
defm PREFETCH_CONST_TENSORMAP : PREFETCH_TENSORMAP_INST<"const", prefetch_tensormap_const>;
770-
defm PREFETCH_GENERIC_TENSORMAP : PREFETCH_TENSORMAP_INST<"", prefetch_tensormap_gen>;
771-
defm PREFETCH_PARAM_TENSORMAP : PREFETCH_TENSORMAP_INST<"param", prefetch_tensormap_param>;
772+
defm PREFETCH_CONST_TENSORMAP : PREFETCH_TENSORMAP_INST<".const", prefetch_tensormap_const>;
773+
defm PREFETCH_GENERIC_TENSORMAP : PREFETCH_TENSORMAP_INST<"", prefetch_tensormap_generic>;
774+
defm PREFETCH_PARAM_TENSORMAP : PREFETCH_TENSORMAP_INST<".param", prefetch_tensormap_param>;
772775

773776
class PREFETCH_INTRS<string InstName, Intrinsic Intr> :
774777
BasicNVPTXInst<(outs), (ins ADDR:$addr),
775778
InstName,
776-
[(Intr addr:$addr)]>;
779+
[(Intr addr:$addr)]>,
780+
Requires<[hasPTX<80>, hasSM<90>]>;
777781

778782
def PREFETCHU_L1 : PREFETCH_INTRS<"prefetchu.L1", int_nvvm_prefetchu_L1>;
779783
def PREFETCH_L1 : PREFETCH_INTRS<"prefetch.L1", int_nvvm_prefetch_L1>;

0 commit comments

Comments
 (0)