search for: buildreciprocalestimate

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