[llvm] [Hexagon] Have fast-math-libcalls.ll use the hexagonv65 cpu (PR #149647)
Sudharsan Veeravalli via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 20 07:54:38 PDT 2025
================
----------------
svs-quic wrote:
Yeah we have `F2_dfadd`, `F2_dfsub` added in `v66` and have an expansion for `DfMpy` that was added in `v67`.
Adding the relevant patterns from HexagonPatterns.td:
```
let Predicates = [HasV66] in {
def: OpR_RR_pat<F2_dfadd, pf2<fadd>, f64, F64>;
def: OpR_RR_pat<F2_dfsub, pf2<fsub>, f64, F64>;
}
def DfMpy: OutPatFrag<(ops node:$Rs, node:$Rt),
(F2_dfmpyhh
(F2_dfmpylh
(F2_dfmpylh
(F2_dfmpyll $Rs, $Rt),
$Rs, $Rt),
$Rt, $Rs),
$Rs, $Rt)>;
let Predicates = [HasV67,UseUnsafeMath], AddedComplexity = 50 in {
def: Pat<(fmul F64:$Rs, F64:$Rt), (DfMpy $Rs, $Rt)>;
}
let Predicates = [HasV67] in {
........
def: Pat<(fmul F64:$Rs, F64:$Rt), (DfMpy (F2_dfmpyfix $Rs, $Rt),
(F2_dfmpyfix $Rt, $Rs))>;
}
```
Maybe I'll add one RUN line with v68 and retain the one with hexagonv5? Are there any plans to remove these old versions from the upstream code?
https://github.com/llvm/llvm-project/pull/149647
More information about the llvm-commits
mailing list