Closes bug #86829

Description: Adds substitution rules for both sin(atan(x)) and
cos(atan(x)). These formulas are replaced by x / sqrt(x*x + 1) and 1 /
sqrt(x*x + 1) respectively, providing up to 10x speedup. This identity
can be proved mathematically.

Changelog:

2018-08-03  Giuliano Belinassi <giuliano.belina...@usp.br>

    * match.pd: add simplification rules to sin(atan(x)) and cos(atan(x)).

Bootstrap and Testing:
There were no unexpected failures in a proper testing in GCC 8.1.0
under a x86_64 running Ubuntu 18.04.
Test run by giulianob on Fri Aug  3 17:01:33 2018
Native configuration is x86_64-pc-linux-gnu

                === gcc tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/giulianob/Downloads/gcc/src/gcc/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.c-torture/compile/compile.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.c-torture/execute/execute.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/asan/asan.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/atomic/atomic.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/autopar/autopar.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/charset/charset.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/compat/compat.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/cpp/cpp.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/cpp/trad/trad.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/debug/debug.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/dfp/dfp.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/dg.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/format/format.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/goacc/goacc.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/gomp/gomp.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/graphite/graphite.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/guality/guality.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/ipa/ipa.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/lto/lto.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/noncompile/noncompile.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/params/params.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/pch/pch.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/plugin/plugin.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/rtl/rtl.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/sancov/sancov.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/special/mips-abi.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/special/special.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/sso/sso.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/tls/tls.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/tm/tm.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/torture/dg-torture.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/torture/tls/tls.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/tsan/tsan.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/ubsan/ubsan.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vect/vect.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vmx/vmx.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/vxworks/vxworks.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.dg/weak/weak.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/acker1.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/arm-isr.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/bprob.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/dectest.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/dhry.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/gcov.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/godump.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/help.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/linkage.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/matrix1.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/mg-2.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/mg.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/options.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/output.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/sieve.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.misc-tests/sort2.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/aarch64.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/acle/acle.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/simd/simd.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/alpha/alpha.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arc/arc.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/acle/acle.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/arm.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/cmse/cmse.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/lto/lto.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/multilib.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/pure-code/pure-code.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/arm/simd/simd.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/avr/avr.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/avr/mmcu/avr-mmcu.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/bfin/bfin.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/cris/cris.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/epiphany/epiphany.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/frv/frv.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/h8300/h8300.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/hppa/hppa.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/i386/i386.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/i386/mpx/mpx.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/ia64/ia64.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/m68k/m68k.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/microblaze/microblaze.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/mips/mips.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/msp430/msp430.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/nds32/nds32.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/nios2/nios2.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/nvptx/nvptx.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/powerpc/bfp/bfp.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/powerpc/dfp/dfp.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/powerpc/powerpc.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/powerpc/ppc-fortran/ppc-fortran.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/powerpc/vsu/vsu.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/riscv/riscv.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/rl78/rl78.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/rx/rx.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/s390/s390.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/sh/sh.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/sh/torture/sh-torture.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/sparc/sparc.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/spu/ea/ea.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/spu/spu.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/tic6x/tic6x.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/vax/vax.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/visium/visium.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gcc.test-framework/test-framework.exp
 ...
skipping test framework tests, CHECK_TEST_FRAMEWORK is not defined

                === gcc Summary ===

# of expected passes            134741
# of expected failures          391
# of unsupported tests          2135
/home/giulianob/Downloads/gcc/gcc/xgcc  version 8.1.0 (GCC) 

Test run by giulianob on Fri Aug  3 18:11:07 2018
Native configuration is x86_64-pc-linux-gnu

                === g++ tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/giulianob/Downloads/gcc/src/gcc/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/asan/asan.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/bprob/bprob.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/charset/charset.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/compat/compat.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/debug/debug.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/dfp/dfp.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/dg.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/gcov/gcov.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/goacc/goacc.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/gomp/gomp.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/graphite/graphite.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/guality/guality.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/lto/lto.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/pch/pch.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/plugin/plugin.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/special/ecos.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/tls/tls.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/tm/tm.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/torture/dg-torture.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/tsan/tsan.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/ubsan/ubsan.exp 
...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.dg/vect/vect.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.old-deja/old-deja.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/g++.target/aarch64/sve/aarch64-sve.exp
 ...

                === g++ Summary ===

# of expected passes            125011
# of expected failures          498
# of unsupported tests          4898
/home/giulianob/Downloads/gcc/gcc/xg++  version 8.1.0 (GCC) 

Test run by giulianob on Fri Aug  3 18:50:55 2018
Native configuration is x86_64-pc-linux-gnu

                === gfortran tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/giulianob/Downloads/gcc/src/gcc/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/coarray/caf.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/debug/debug.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/dg.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/goacc/goacc.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/gomp/gomp.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/graphite/graphite.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/guality/guality.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/ieee/ieee.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/lto/lto.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/prof/prof.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.dg/vect/vect.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
 ...

                === gfortran Summary ===

# of expected passes            47161
# of expected failures          83
# of unsupported tests          74
/home/giulianob/Downloads/gcc/gcc/gfortran  version 8.1.0 (GCC) 

Test run by giulianob on Fri Aug  3 19:14:44 2018
Native configuration is x86_64-pc-linux-gnu

                === objc tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/giulianob/Downloads/gcc/src/gcc/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc/compile/compile.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc/execute/exceptions/exceptions.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc/execute/execute.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/attributes/attributes.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/dg.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
 ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/lto/lto.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/pch/pch.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/plugin/plugin.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/property/property.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/special/special.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/strings/strings.exp ...
Running /home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/tls/tls.exp ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/torture/dg-torture.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/torture/strings/strings.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/gcc/testsuite/objc.dg/torture/tls/tls.exp ...

                === objc Summary ===

# of expected passes            2797
# of expected failures          6
# of unsupported tests          68
/home/giulianob/Downloads/gcc/gcc/xgcc  version 8.1.0 (GCC) 

PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: btest
PASS: stest
PASS: inflate empty
PASS: inflate hello
PASS: inflate goodbye
PASS: inflate ranges
PASS: inflate large
backtrace: 1565689 ns
zlib     : 1593599 ns
ratio    : 1.01783
PASS: ztest
PASS: backtrace_full alloc stress
PASS: edtest
PASS: threaded backtrace_full noinline
PASS: ttest
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: ctestg
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: ctesta
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: dtest
==================
All 8 tests passed
==================
./test-demangle: 995 tests, 0 failures
./test-demangle: 323 tests, 0 failures
./test-demangle: 36 tests, 0 failures
PASS: test-expandargv-0.
PASS: test-expandargv-1.
PASS: test-expandargv-2.
PASS: test-expandargv-3.
PASS: test-expandargv-4.
PASS: test-expandargv-5.
PASS: test-expandargv-6.
PASS: test-strtol-0.
PASS: test-strtol-1.
PASS: test-strtol-2.
PASS: test-strtol-3.
PASS: test-strtol-4.
PASS: test-strtol-5.
PASS: test-strtol-6.
PASS: test-strtol-7.
PASS: test-strtol-8.
PASS: test-strtol-9.
PASS: test-strtol-10.
PASS: test-strtol-11.
PASS: test-strtol-12.
PASS: test-strtol-13.
PASS: test-strtol-14.
PASS: test-strtol-15.
PASS: test-strtol-16.
PASS: test-strtol-17.
PASS: test-strtol-18.
PASS: test-strtol-19.
PASS: test-strtol-20.
Making check in include
Making check in libsupc++
Making check in src
Making check in c++98
Making check in c++11
Making check in filesystem
Making check in doc
Making check in po
Making check in testsuite
Test run by giulianob on Fri Aug  3 19:15:39 2018
Native configuration is x86_64-pc-linux-gnu

                === libstdc++ tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using 
/home/giulianob/Downloads/gcc/src/libstdc++-v3/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running 
/home/giulianob/Downloads/gcc/src/libstdc++-v3/testsuite/libstdc++-abi/abi.exp 
...
Running 
/home/giulianob/Downloads/gcc/src/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp
 ...
Running 
/home/giulianob/Downloads/gcc/src/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp
 ...

                === libstdc++ Summary ===

# of expected passes            12314
# of expected failures          71
# of unsupported tests          571
Making check in python
Making all in include
Making all in libsupc++
Making all in src
Making all in c++98
Making all in c++11
Making all in filesystem
Making all in doc
Making all in po
Making all in testsuite
Making all in python
Making check in sanitizer_common
Making check in interception
Making check in libbacktrace
Making check in lsan
Making check in asan
Making check in ubsan
Making check in tsan
Making all in sanitizer_common
Making all in interception
Making all in libbacktrace
Making all in lsan
Making all in asan
Making all in ubsan
Making check in mpxrt
Making check in mpxwrap
Making all in mpxrt
Making all in mpxwrap
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=btest 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -g -O -g 
-O2 -o btest btest-btest.o btest-testlib.o  ./.libs/libbacktrace.a -lz
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=stest 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -g -O2 -o 
stest stest.o  ./.libs/libbacktrace.a -lz
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include 
-DSRCDIR=\"../.././src/libbacktrace\" -g -O2 -o ztest ztest-ztest.o 
ztest-testlib.o  ./.libs/libbacktrace.a -lz
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=edtest 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -g -O2 -o 
edtest edtest.o edtest2_build.o testlib.o  ./.libs/libbacktrace.a -lz
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=ttest 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -pthread 
-g -O2 -o ttest ttest-ttest.o ttest-testlib.o  ./.libs/libbacktrace.a -lz 
-pthread
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=ctestg 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -g -g -O2 
-Wl,--compress-debug-sections=zlib-gnu -o ctestg ctestg-btest.o 
ctestg-testlib.o  ./.libs/libbacktrace.a -lz
libtool: link: /home/giulianob/Downloads/gcc/./gcc/xgcc 
-B/home/giulianob/Downloads/gcc/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ 
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem 
/usr/local/x86_64-pc-linux-gnu/include -isystem 
/usr/local/x86_64-pc-linux-gnu/sys-include -funwind-tables -frandom-seed=ctesta 
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -Wcast-qual -Werror -g -g -O2 
-Wl,--compress-debug-sections=zlib-gabi -o ctesta ctesta-btest.o 
ctesta-testlib.o  ./.libs/libbacktrace.a -lz
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: btest
PASS: stest
PASS: inflate empty
PASS: inflate hello
PASS: inflate goodbye
PASS: inflate ranges
PASS: inflate large
backtrace: 1568646 ns
zlib     : 1595157 ns
ratio    : 1.0169
PASS: ztest
PASS: backtrace_full alloc stress
PASS: edtest
PASS: threaded backtrace_full noinline
PASS: ttest
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: ctestg
PASS: backtrace_full noinline
PASS: backtrace_full inline
PASS: backtrace_simple noinline
PASS: backtrace_simple inline
PASS: backtrace_syminfo variable
PASS: ctesta
==================
All 7 tests passed
==================
Making check in testsuite
Making a new site.exp file...
Test run by giulianob on Fri Aug  3 20:09:06 2018
Native configuration is x86_64-pc-linux-gnu

                === libgomp tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../.././src/libgomp/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running ../../.././src/libgomp/testsuite/libgomp.c/c.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.c++/c++.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.fortran/fortran.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.graphite/graphite.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.hsa.c/c.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.oacc-c/c.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.oacc-c++/c++.exp ...
Running ../../.././src/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp ...

                === libgomp Summary ===

# of expected passes            5538
# of unsupported tests          290
Making all in testsuite
Making check in testsuite
Making a new site.exp file...
Test run by giulianob on Fri Aug  3 20:15:57 2018
Native configuration is x86_64-pc-linux-gnu

                === libitm tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../.././src/libitm/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running ../../.././src/libitm/testsuite/libitm.c/c.exp ...
Running ../../.././src/libitm/testsuite/libitm.c++/c++.exp ...

                === libitm Summary ===

# of expected passes            42
# of expected failures          3
# of unsupported tests          1
Making all in testsuite
Making check in testsuite
Making a new site.exp file...
Test run by giulianob on Fri Aug  3 20:16:01 2018
Native configuration is x86_64-pc-linux-gnu

                === libatomic tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../.././src/libatomic/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running ../../.././src/libatomic/testsuite/libatomic.c/c.exp ...

                === libatomic Summary ===

# of expected passes            54
Making all in testsuite
diff -rupN -u gcc_orig/gcc/match.pd gcc_mod/gcc/match.pd
--- gcc_orig/gcc/match.pd	2018-04-20 07:31:23.000000000 -0300
+++ gcc_mod/gcc/match.pd	2018-08-03 15:25:32.307520365 -0300
@@ -4174,6 +4174,25 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
        && ! HONOR_INFINITIES (@0))
    (rdiv { build_one_cst (type); } (COS @0))))
 
+ /* Simplify sin(atan(x)) -> x / sqrt(x*x + 1). */
+ (for sins (SIN)
+      atans (ATAN)
+      sqrts (SQRT)
+  (simplify
+   (sins (atans:s @0))
+   (rdiv @0 (sqrts (plus (mult @0 @0) 
+       {build_one_cst (type);})))))
+ 
+ 
+ /* Simplify cos(atan(x)) -> 1 / sqrt(x*x + 1). */
+ (for coss (COS)
+      atans (ATAN)
+      sqrts (SQRT)
+  (simplify
+   (coss (atans:s @0))
+   (rdiv {build_one_cst (type);} 
+       (sqrts (plus (mult @0 @0) {build_one_cst (type);})))))
+
  /* Simplify pow(x,y) * pow(x,z) -> pow(x,y+z). */
  (simplify
   (mult (POW:s @0 @1) (POW:s @0 @2))
diff -rupN -u gcc_orig/gcc/testsuite/gcc.dg/sinatan-1.c gcc_mod/gcc/testsuite/gcc.dg/sinatan-1.c
--- gcc_orig/gcc/testsuite/gcc.dg/sinatan-1.c	1969-12-31 21:00:00.000000000 -0300
+++ gcc_mod/gcc/testsuite/gcc.dg/sinatan-1.c	2018-08-02 19:06:23.632015000 -0300
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -ffast-math -fdump-tree-optimized" } */
+
+extern double sin(double x);
+extern double atan(double x);
+
+double __attribute__ ((noinline)) 
+sinatan_(double x)
+{
+    return sin(atan(x));
+}
+
+/* There should be no calls to sin nor atan */
+/* { dg-final { scan-tree-dump-not "sin " "optimized" } } */
+/* { dg-final { scan-tree-dump-not "atan " "optimized" } } */
diff -rupN -u gcc_orig/gcc/testsuite/gcc.dg/sinatan-2.c gcc_mod/gcc/testsuite/gcc.dg/sinatan-2.c
--- gcc_orig/gcc/testsuite/gcc.dg/sinatan-2.c	1969-12-31 21:00:00.000000000 -0300
+++ gcc_mod/gcc/testsuite/gcc.dg/sinatan-2.c	2018-08-02 19:06:29.579990000 -0300
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -ffast-math -fdump-tree-optimized" } */
+
+extern double cos(double x);
+extern double atan(double x);
+
+double __attribute__ ((noinline)) 
+cosatan_(double x)
+{
+    return cos(atan(x));
+}
+
+/* There should be no calls to sin nor atan */
+/* { dg-final { scan-tree-dump-not "cos " "optimized" } } */
+/* { dg-final { scan-tree-dump-not "atan " "optimized" } } */
diff -rupN -u gcc_orig/gcc/testsuite/gcc.dg/sinatan-3.c gcc_mod/gcc/testsuite/gcc.dg/sinatan-3.c
--- gcc_orig/gcc/testsuite/gcc.dg/sinatan-3.c	1969-12-31 21:00:00.000000000 -0300
+++ gcc_mod/gcc/testsuite/gcc.dg/sinatan-3.c	2018-08-02 19:17:11.663657000 -0300
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -ffast-math -fdump-tree-optimized" } */
+
+extern double sin(double x);
+extern double atan(double x);
+
+double __attribute__ ((noinline)) 
+sinatan_(double x)
+{
+    double atg = atan(x);
+    return sin(atg) + atg;
+}
+
+/* There should be calls to both sin and atan */
+/* { dg-final { scan-tree-dump "sin " "optimized" } } */
+/* { dg-final { scan-tree-dump "atan " "optimized" } } */
diff -rupN -u gcc_orig/gcc/testsuite/gcc.dg/sinatan-4.c gcc_mod/gcc/testsuite/gcc.dg/sinatan-4.c
--- gcc_orig/gcc/testsuite/gcc.dg/sinatan-4.c	1969-12-31 21:00:00.000000000 -0300
+++ gcc_mod/gcc/testsuite/gcc.dg/sinatan-4.c	2018-08-02 19:17:01.091726000 -0300
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -ffast-math -fdump-tree-optimized" } */
+
+extern double cos(double x);
+extern double atan(double x);
+
+double __attribute__ ((noinline)) 
+cosatan_(double x)
+{
+    double atg = atan(x);
+    return cos(atg) + atg;
+}
+
+/* There should be calls to both cos and atan */
+/* { dg-final { scan-tree-dump "cos " "optimized" } } */
+/* { dg-final { scan-tree-dump "atan " "optimized" } } */

Attachment: Changelog
Description: Binary data

Reply via email to