@@ -111,28 +111,14 @@ def VecElement : Operand<i32> {
111
111
//===----------------------------------------------------------------------===//
112
112
113
113
114
- def hasAtomRedG32 : Predicate<"Subtarget->hasAtomRedG32()">;
115
- def hasAtomRedS32 : Predicate<"Subtarget->hasAtomRedS32()">;
116
- def hasAtomRedGen32 : Predicate<"Subtarget->hasAtomRedGen32()">;
117
- def useAtomRedG32forGen32 :
118
- Predicate<"!Subtarget->hasAtomRedGen32() && Subtarget->hasAtomRedG32()">;
119
- def hasBrkPt : Predicate<"Subtarget->hasBrkPt()">;
120
- def hasAtomRedG64 : Predicate<"Subtarget->hasAtomRedG64()">;
121
- def hasAtomRedS64 : Predicate<"Subtarget->hasAtomRedS64()">;
122
- def hasAtomRedGen64 : Predicate<"Subtarget->hasAtomRedGen64()">;
123
- def useAtomRedG64forGen64 :
124
- Predicate<"!Subtarget->hasAtomRedGen64() && Subtarget->hasAtomRedG64()">;
125
- def hasAtomAddF32 : Predicate<"Subtarget->hasAtomAddF32()">;
126
114
def hasAtomAddF64 : Predicate<"Subtarget->hasAtomAddF64()">;
127
115
def hasAtomScope : Predicate<"Subtarget->hasAtomScope()">;
128
116
def hasAtomBitwise64 : Predicate<"Subtarget->hasAtomBitwise64()">;
129
117
def hasAtomMinMax64 : Predicate<"Subtarget->hasAtomMinMax64()">;
130
118
def hasVote : Predicate<"Subtarget->hasVote()">;
131
119
def hasDouble : Predicate<"Subtarget->hasDouble()">;
132
- def reqPTX20 : Predicate<"Subtarget->reqPTX20()">;
133
120
def hasLDG : Predicate<"Subtarget->hasLDG()">;
134
121
def hasLDU : Predicate<"Subtarget->hasLDU()">;
135
- def hasGenericLdSt : Predicate<"Subtarget->hasGenericLdSt()">;
136
122
137
123
def doF32FTZ : Predicate<"useF32FTZ()">;
138
124
def doNoF32FTZ : Predicate<"!useF32FTZ()">;
@@ -961,13 +947,12 @@ def FDIV321r_prec_ftz :
961
947
(ins f32imm:$a, Float32Regs:$b),
962
948
"rcp.rn.ftz.f32 \t$dst, $b;",
963
949
[(set Float32Regs:$dst, (fdiv FloatConst1:$a, Float32Regs:$b))]>,
964
- Requires<[reqPTX20, doF32FTZ]>;
950
+ Requires<[doF32FTZ]>;
965
951
def FDIV321r_prec :
966
952
NVPTXInst<(outs Float32Regs:$dst),
967
953
(ins f32imm:$a, Float32Regs:$b),
968
954
"rcp.rn.f32 \t$dst, $b;",
969
- [(set Float32Regs:$dst, (fdiv FloatConst1:$a, Float32Regs:$b))]>,
970
- Requires<[reqPTX20]>;
955
+ [(set Float32Regs:$dst, (fdiv FloatConst1:$a, Float32Regs:$b))]>;
971
956
//
972
957
// F32 Accurate division
973
958
//
@@ -976,25 +961,23 @@ def FDIV32rr_prec_ftz :
976
961
(ins Float32Regs:$a, Float32Regs:$b),
977
962
"div.rn.ftz.f32 \t$dst, $a, $b;",
978
963
[(set Float32Regs:$dst, (fdiv Float32Regs:$a, Float32Regs:$b))]>,
979
- Requires<[doF32FTZ, reqPTX20 ]>;
964
+ Requires<[doF32FTZ]>;
980
965
def FDIV32ri_prec_ftz :
981
966
NVPTXInst<(outs Float32Regs:$dst),
982
967
(ins Float32Regs:$a, f32imm:$b),
983
968
"div.rn.ftz.f32 \t$dst, $a, $b;",
984
969
[(set Float32Regs:$dst, (fdiv Float32Regs:$a, fpimm:$b))]>,
985
- Requires<[doF32FTZ, reqPTX20 ]>;
970
+ Requires<[doF32FTZ]>;
986
971
def FDIV32rr_prec :
987
972
NVPTXInst<(outs Float32Regs:$dst),
988
973
(ins Float32Regs:$a, Float32Regs:$b),
989
974
"div.rn.f32 \t$dst, $a, $b;",
990
- [(set Float32Regs:$dst, (fdiv Float32Regs:$a, Float32Regs:$b))]>,
991
- Requires<[reqPTX20]>;
975
+ [(set Float32Regs:$dst, (fdiv Float32Regs:$a, Float32Regs:$b))]>;
992
976
def FDIV32ri_prec :
993
977
NVPTXInst<(outs Float32Regs:$dst),
994
978
(ins Float32Regs:$a, f32imm:$b),
995
979
"div.rn.f32 \t$dst, $a, $b;",
996
- [(set Float32Regs:$dst, (fdiv Float32Regs:$a, fpimm:$b))]>,
997
- Requires<[reqPTX20]>;
980
+ [(set Float32Regs:$dst, (fdiv Float32Regs:$a, fpimm:$b))]>;
998
981
999
982
//
1000
983
// FMA
0 commit comments