Displaying 2 results from an estimated 2 matches for "x86add_flag".
2016 Jun 07
2
Doubts
...SDValue maps to a
vreg, and "set" does the association between SDValues produced by an
SDNode, and vregs produced by the selected instruction.
It can set multiple registers (if the last operand produces multiple
values). For instance, X86 has things like "[(set GR32:$dst, EFLAGS,
(X86add_flag GR32:$src1, GR32:$src2))]"
Patterns can't have a root node with a non-void return, because, how
would we decide where the return value goes?
So, you can basically write two kinds of patterns:
- (set <register class>:$dst, <operand>)
- (<void-typed operator> <operands&...
2016 Jun 06
2
Doubts
Thanks, indeed it was on the LegalizeDAG.cpp and the information proved
very useful.
I also realized that the customization, promotion or expansion will occur
whenever any operand, with the same type as the type specified on the
second argument (MVT) of setOperationAction function, appears. (Correct me
if I'm wrong).
The second doubt I have regards instruction matching.
When I define a