From patchwork Sat Aug 4 13:22:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Giuliano Belinassi X-Patchwork-Id: 953450 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-483163-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=usp.br Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="fL8nxcZj"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=usp-br.20150623.gappssmtp.com header.i=@usp-br.20150623.gappssmtp.com header.b="Ha17mPpi"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41jPjg6Xmjz9s0R for ; Sat, 4 Aug 2018 23:23:00 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:content-type; q= dns; s=default; b=U6g+4P5ewCHtcmIU7MSbpGAvsuH9z+tNx+tF+v9guSyLj1 Gk2UXJNqpB4PWXXTp5wNaDsiWcIQ1cQb9Enq1DoHW/qIvgWkOJNfc58UHLa7UjvO 1tqyJXAdX7pnWt3Zvk+9UmZmpEazIg8xtW+7888ASZhWhvx9FmdLkXOVaDvCc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:content-type; s= default; bh=G8/uh8Wg5HAjuLOXj0JZUeq4MpI=; b=fL8nxcZjMhKGGoYYvuSx VUDu3h+6yFRQnGgH27n02yTsWulQcx/+6ebbGvHnJeg3cOzZ00yc47nDZv3WoOoL +zL1QUUvzauGmalHKqev7QSA+PJWr/W5RbZqxnKSu42soFNTZCO/iFmcHC/baw5M 88ij9EOsFeCBhgjM6ffqtyU= Received: (qmail 75108 invoked by alias); 4 Aug 2018 13:22:52 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 75095 invoked by uid 89); 4 Aug 2018 13:22:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-10.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=vsu, sk:Wstrict, sk:wstrict, sk:wold-st X-HELO: mail-oi0-f43.google.com Received: from mail-oi0-f43.google.com (HELO mail-oi0-f43.google.com) (209.85.218.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 04 Aug 2018 13:22:46 +0000 Received: by mail-oi0-f43.google.com with SMTP id v8-v6so14686442oie.5 for ; Sat, 04 Aug 2018 06:22:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=4Z25GXySKkFXNBnGMw5I37Sl6pf/t/U8ua5I3PoGi08=; b=Ha17mPpiBhnBMEUHj5ZZeL2xlnG0kQtbXJCIgcgWeGmjerUThFxGLwfsHsmpcNE+2e wRrxk3bP6GOUpGiV+zLdw73PjwG7SDa20InM0xwDIESUqPQxD11dqXQ7e41EHH34Guh9 nqwG6xOCvZ6CYxGYYMTl0VM3kCqfQ4l5yQ5tX57YattbvJynpaCQmqQ6aC40EUyXBFP5 I+cW7ZiWeXj9nS80+CoY7mMovNSckntmTNmMfdw7fR9GBBoYVkBYyq3Jwe7ai8ZkqLJ/ 4FL1FF0vThhL5B/7XxjNHT3suVql81m0YDr9GVu2UzuO2J5ut418Y9uYx/lfUdUXvsxv DptQ== MIME-Version: 1.0 Received: by 2002:a4a:b08b:0:0:0:0:0 with HTTP; Sat, 4 Aug 2018 06:22:44 -0700 (PDT) From: Giuliano Augusto Faulin Belinassi Date: Sat, 4 Aug 2018 10:22:44 -0300 Message-ID: Subject: patch to bug #86829 To: gcc-patches@gcc.gnu.org X-IsSubscribed: yes 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 * 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" } } */