Lines Matching full:min

69     unsigned Min, Max, Med;
173 // 4 operand commutes of: min(max(Val, K0), K1).
174 // Find K1 from outer instr: min(max(...), K1) or min(K1, max(...)).
176 // 4 operand commutes of: max(min(Val, K1), K0).
177 // Find K0 from outer instr: max(min(...), K0) or max(K0, min(...)).
178 // Find K1 and Val from inner instr: min(K1, Val) or min(Val, K1).
183 MMMOpc.Min, m_CommutativeBinOp(MMMOpc.Max, m_Reg(Val), m_Cst(K0)),
186 MMMOpc.Max, m_CommutativeBinOp(MMMOpc.Min, m_Reg(Val), m_Cst(K1)),
204 // Match min(max(Val, K0), K1) or max(min(Val, K1), K0). Then see if K0 <= K1.
217 // fmed3(NaN, K0, K1) = min(min(NaN, K0), K1)
218 // ieee = true : min/max(SNaN, K) = QNaN, min/max(QNaN, K) = K
219 // ieee = false : min/max(NaN, K) = K
221 // Consider values of min(max(Val, K0), K1) and max(min(Val, K1), K0) as input.
222 // Other operand commutes (see matchMed) give same result since min and max are
225 // Try to replace fp min(max(Val, K0), K1) or max(min(Val, K1), K0), KO<=K1
228 // fmed3(SNaN, K0, K1) = min(min(SNaN, K0), K1) = min(QNaN, K1) = K1
229 // min(max(SNaN, K0), K1) = min(QNaN, K1) = K1
230 // max(min(SNaN, K1), K0) = max(K1, K0) = K1
232 // fmed3(NaN, K0, K1) = min(min(NaN, K0), K1) = min(K0, K1) = K0
233 // min(max(NaN, K0), K1) = min(K0, K1) = K0 (can clamp when dx10_clamp = true)
234 // max(min(NaN, K1), K0) = max(K1, K0) = K1 != K0
248 // Match min(max(Val, K0), K1) or max(min(Val, K1), K0). Then see if K0 <= K1.
258 // min(min(NaN, K0), K1). Safe to fold for min(max(Val, K0), K1) since inner
259 // nodes(max/min) have same behavior when one input is NaN and other isn't.
260 // Don't consider max(min(SNaN, K1), K0) since there is no isKnownNeverQNaN,
261 // also post-legalizer inputs to min/max are fcanonicalized (never SNaN).
280 // Match min(max(Val, K0), K1) or max(min(Val, K1), K0).
289 // For IEEE=true consider NaN inputs. Only min(max(QNaN, 0.0), 1.0) evaluates
303 // min(min(SNaN, 0.0), 1.0) = min(QNaN, 1.0) = 1.0
304 // min(min(SNaN, 1.0), 0.0) = min(QNaN, 0.0) = 0.0
305 // min(min(0.0, 1.0), SNaN) = min(0.0, SNaN) = QNaN
307 // min(min(NaN, 0.0), 1.0) = min(0.0, 1.0) = 0.0
308 // min(min(NaN, 1.0), 0.0) = min(1.0, 0.0) = 0.0
309 // min(min(0.0, 1.0), NaN) = min(0.0, NaN) = 0.0