How To Add A Constrained Floating-Point Intrinsic#

Warning

This is a work in progress.

Add the intrinsic#

Multiple files need to be updated when adding a new constrained intrinsic.

Add the new intrinsic to the table of intrinsics:

include/llvm/IR/Intrinsics.td

Add SelectionDAG node types#

Add the new STRICT version of the node type to the ISD::NodeType enum:

include/llvm/CodeGen/ISDOpcodes.h

Strict version name must be a concatenation of prefix STRICT_ and the name of the corresponding non-strict node name. For instance, strict version of the node FADD must be STRICT_FADD.