[#llvm-PatternMatch-ThreeOps_match] = xref:llvm.adoc[llvm]::xref:llvm/PatternMatch.adoc[PatternMatch]::ThreeOps_match :relfileprefix: ../../ :mrdocs: Matches instructions with Opcode and three operands. == Synopsis Declared in `<llvm/IR/PatternMatch.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T0, typename T1, typename T2, unsigned int Opcode, bool CommutableOp2Op3 = false> struct ThreeOps_match; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/ThreeOps_match/2constructor.adoc[`ThreeOps_match`] [.small]#[constructor]# | Construct a matcher for all three operands. | xref:llvm/PatternMatch/ThreeOps_match/match.adoc[`match`] | Match `V` if its opcode is Opcode and all operands match. |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/ThreeOps_match/Op1.adoc[`Op1`] | Sub‐pattern for the first operand. | xref:llvm/PatternMatch/ThreeOps_match/Op2.adoc[`Op2`] | Sub‐pattern for the second operand. | xref:llvm/PatternMatch/ThreeOps_match/Op3.adoc[`Op3`] | Sub‐pattern for the third operand. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/m_InsertElt.adoc[`m_InsertElt`] | Matches InsertElementInst. | xref:llvm/PatternMatch/m_Select.adoc[`m_Select`] | Matches SelectInst. | xref:llvm/PatternMatch/m_SelectCst.adoc[`m_SelectCst`] | Matches a select of two integer constants. | xref:llvm/PatternMatch/m_c_Select.adoc[`m_c_Select`] | Match Select(C, LHS, RHS) or Select(C, RHS, LHS). |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#