-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IA]: Construct (de)interleave4 out of (de)interleave2 #89276
Changes from all commits
08a6494
571ecd3
884e12a
73f187f
68e9c30
94d537b
85d159b
7b13365
b67e3f7
6753d0e
b1c4f32
03ada93
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2924,6 +2924,17 @@ inline VScaleVal_match m_VScale() { | |
return VScaleVal_match(); | ||
} | ||
|
||
template <typename Opnd0, typename Opnd1> | ||
inline typename m_Intrinsic_Ty<Opnd0, Opnd1>::Ty | ||
m_Interleave2(const Opnd0 &Op0, const Opnd1 &Op1) { | ||
return m_Intrinsic<Intrinsic::vector_interleave2>(Op0, Op1); | ||
} | ||
|
||
template <typename Opnd> | ||
inline typename m_Intrinsic_Ty<Opnd>::Ty m_Deinterleave2(const Opnd &Op) { | ||
return m_Intrinsic<Intrinsic::vector_deinterleave2>(Op); | ||
} | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @paulwalker-arm There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not quite. PatternMatch should not care about how the IR is used, that's up to the user of the interface. It exists purely to provide a convenient way to express the tree of IR to compare against. FYI: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have updated it |
||
template <typename LHS, typename RHS, unsigned Opcode, bool Commutable = false> | ||
struct LogicalOp_match { | ||
LHS L; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments on these 2 functions look outdated. It would be nice to explain what DeadInsts should look like going into and out of the function given it's a reference to a vector.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!