Displaying 3 results from an estimated 3 matches for "buildreciprocalestimate".
2019 Aug 06
3
[RFC] Improve iteration of estimating divisions
...red with GCC. Like this case in ppc64le:
float fdiv(unsigned int a, unsigned int b) {
return (float)a / (float)b;
}
Result of Clang -Ofast is 41A00001 (in Hex), while GCC produces 41A00000 which is the same as no optimizations opened.
Currently, DAGCombiner uses `BuildReciprocalEstimate` to calculate the reciprocal (`1/b`) first and multiply it with `a`. But if we put the operand `a` into iterations in the estimate function, the result would be better.
Patching such a change may break several existing test cases in different platforms since it’s target-independent code. So any...
2019 Aug 08
2
回复: [RFC] Improve iteration of estimating divisions
...:
>
> float fdiv(unsigned int a, unsigned int b) {
> return (float)a / (float)b;
> }
>
> Result of Clang -Ofast is 41A00001 (in Hex), while GCC produces 41A00000 which is the same as no optimizations opened.
>
> Currently, DAGCombiner uses `BuildReciprocalEstimate` to calculate the reciprocal (`1/b`) first and multiply it with `a`. But if we put the operand `a` into iterations in the estimate function, the result would be better.
>
> Patching such a change may break several existing test cases in different platforms since it’s target-independent code....
2017 Mar 06
2
combineRepeatedFPDivisors design questions
Hello,
Recently I have stumbled across an almost double performance decrease in one of my codebases when compiling with clang instead of gcc. I was testing with the currently latest 3.9.1 as well as 4.0.0 rc2 targeting x86-64 darwin with -Ofast, and after some investigation was able to narrow down the code to the following snippet:
__attribute__ ((noinline)) bool calculate(double c) {
uint32_t