Instead of add and mul instructions, use v_mad, v_mac or v_fma if fma
instructions are faster and are legal for the given architecture.
Combiner for a case that adds two function arguments, extends the result
and multiplies it with the third function argument, and transforms that
into extend instructions combined with some of the fma instruction
depending on the architecture.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Put back the accidentally deleted combiner from the list of combiners (load_or_combine).
Use m_MInstr instead of m_Reg in matching patterns (mi_match).
Formatting and refactoring.
llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | ||
---|---|---|
4929–4935 | Use B not Builder. | |
4948–4955 | (same as above) |