https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69295
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- On i686-linux, it is clearly a matter of excess precision that sometimes substantially changes the result. With -mfpmath=sse -msse2 or -ffloat-store it passes. The abs errors for various tests that fail are (first NNN in test(dataNNN, tolerNNN), then max_abs_frac, then tolerNNN), the patch I've used was: @@ -11554,7 +11554,7 @@ const double toler245 = 2.50000000000000 template<typename Tp, unsigned int Num> void - test(const testcase_hyperg<Tp> (&data)[Num], Tp toler) + test(const testcase_hyperg<Tp> (&data)[Num], Tp toler, int nnn) { bool test __attribute__((unused)) = true; const Tp eps = std::numeric_limits<Tp>::epsilon(); @@ -11576,256 +11576,258 @@ template<typename Tp, unsigned int Num> max_abs_frac = std::abs(frac); } } - VERIFY(max_abs_frac < toler); + if (max_abs_frac >= toler) + __builtin_printf ("%d %a %a\n", nnn, max_abs_frac, toler); +// VERIFY(max_abs_frac < toler); } plus adjusting all the test(dataNNN, tolerNNN); calls to test(dataNNN, tolerNNN, NNN); 167 0x1.8ab4f2f1f35bcp-40 0x1.19799812dea15p-42 171 0x1.890df8f35d42ep-38 0x1.19799812dea15p-42 172 0x1.1acd4227e561bp-34 0x1.19799812dea15p-42 173 0x1.6f73999c8e5adp-40 0x1.19799812dea15p-42 197 0x1.8ab4f2f1f35bcp-40 0x1.19799812dea15p-42 201 0x1.d4e2f28348906p-39 0x1.19799812dea15p-42 202 0x1.afc3fee12aee8p-36 0x1.19799812dea15p-42 203 0x1.9f229da628598p-39 0x1.19799812dea15p-42 204 0x1.949b76928c351p-40 0x1.19799812dea15p-42 206 0x1.24585756ecfbap-33 0x1.19799812dea15p-42 207 0x1.662797d1185e5p-31 0x1.19799812dea15p-42 208 0x1.27de1e24e6ac3p-27 0x1.19799812dea15p-42 209 0x1.a0ac9ec2d7f45p-34 0x1.19799812dea15p-42 231 0x1.890df8f35d42ep-38 0x1.19799812dea15p-42 232 0x1.1acd4227e561bp-34 0x1.19799812dea15p-42 233 0x1.6f73999c8e5adp-40 0x1.19799812dea15p-42 236 0x1.24585756ecfbap-33 0x1.19799812dea15p-42 237 0x1.662797d1185e5p-31 0x1.19799812dea15p-42 238 0x1.27de1e24e6ac3p-27 0x1.19799812dea15p-42 239 0x1.a0ac9ec2d7f45p-34 0x1.19799812dea15p-42 241 0x1.67ee0388ff7a7p-27 0x1.19799812dea15p-42 242 0x1.7aa254470eb52p-26 0x1.19799812dea15p-42 243 0x1.fb4f73983f28cp-19 0x1.19799812dea15p-42 244 0x1.3b46fd92feda9p-22 0x1.19799812dea15p-42 245 0x1.58d8d7350d864p-21 0x1.19799812dea15p-42 What are the problematic tests on powerpc* (that one is not excess precision target though)? Would it be acceptable to just increase the tolerNNN values mentioned above (plus whatever powerpc needs)?