- /* If one of the inputs is NaN, the second operand is returned.
- * In min/max it will be as fast as undefined with sse opcodes */
- GALLIVM_NAN_RETURN_SECOND
+ /* If one of the inputs is NaN, the other operand is returned,
+ * but we guarantee the second operand is not a NaN.
+ * In min/max it will be as fast as undefined with sse opcodes,
+ * and archs having native return_other can benefit too. */
+ GALLIVM_NAN_RETURN_OTHER_SECOND_NONNAN,
+ /* If one of the inputs is NaN, NaN is returned,
+ * but we guarantee the first operand is not a NaN.
+ * In min/max it will be as fast as undefined with sse opcodes,
+ * and archs having native return_nan can benefit too. */
+ GALLIVM_NAN_RETURN_NAN_FIRST_NONNAN,
+