HomePhabricator

Add LLVMIR Dialect counterparts of @llvm.maximum and @llvm.minimum.

Authored by awpr on Feb 9 2021, 4:57 PM.

Description

Add LLVMIR Dialect counterparts of @llvm.maximum and @llvm.minimum.

These are similar to maxnum and minnum, but they're defined to treat -0
as less than +0. This behavior can't be expressed using float
comparisons and selects, since comparisons are defined to treat
different-signed zeros as equal. So, the only way to communicate this
behavior into LLVM IR without defining target-specific intrinsics is to
add the corresponding ops.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D96373

Details