1. 27 Aug, 2012 18 commits
    • Fix a typo in the mcount function_profiler. · 4b3fa92c
      	* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
      	config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
      
      From-SVN: r190726
      Walter Lee committed
    • Stop trying to represent the bfins instruction with the insv pattern, · 848c312c
      because it causes an extra copy when bfins reuses one of its inputs.
      	* config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
      	(insn_bfins): Delete.
      
      From-SVN: r190724
      Walter Lee committed
    • Properly set the latency of atomic ops to the approximate latency of a remote memory operation. · 9b0370aa
      Properly set the latency of atomic ops to the approximate latency of a
      remote memory operation.
      	* config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
      	atomic_exchange_bare<mode>,
      	atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
      	* config/tilegx/tilegx-generic.md (X1_remote): New
      	insn_reservation.
      	* config/tilegx/tilegx.md (type): Add X1_remove.
      	(insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
      	insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
      	insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
      	X1_remote.
      
      From-SVN: r190722
      Walter Lee committed
    • * gdbinit.in: Fix syntax of skip command. · 865ea646
      From-SVN: r190721
      Andreas Schwab committed
    • ext_ins.c, [...]: Add NOMIPS16. · 5b51970b
      gcc/testsuite/
      	* gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
      	gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
      	gcc.target/mips/unaligned-1.c: Add NOMIPS16.
      
      From-SVN: r190720
      Richard Sandiford committed
    • 20020620-1.c, [...]: Tighten regexps. · b6289055
      gcc/testsuite/
      	* gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
      	gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
      	gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
      	gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
      	gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
      	gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
      	gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
      	gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
      	gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
      	gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
      	gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
      	gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
      	gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
      	gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
      	gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
      	gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
      	gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
      	gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
      	gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
      	gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
      	gcc.target/mips/unaligned-1.c: Tighten regexps.
      
      From-SVN: r190719
      Richard Sandiford committed
    • mips.exp: Use gcc-dg-runtest rather than dg-runtest. · 0c436cbd
      gcc/testsuite/
      	* gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
      	(mips_option_groups): Remove optimization.  Add various -f options.
      	(mips-dg-options): Make -funroll-loops imply -funroll-all-loops
      	and -pg imply -fno-omit-frame-pointer.
      	* gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag.
      	* gcc.target/mips/abi-eabi32-long64.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long32.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long64.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long32.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long64.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long32.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long64.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o32-long32.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-o32-long64.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long32.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long64.c: Likewise.
      	* gcc.target/mips/asm-1.c: Likewise.
      	* gcc.target/mips/branch-1.c: Likewise.
      	* gcc.target/mips/call-3.c: Likewise.
      	* gcc.target/mips/call-saved-3.c: Likewise.
      	* gcc.target/mips/clear-cache-1.c: Likewise.
      	* gcc.target/mips/div-1.c: Likewise.
      	* gcc.target/mips/div-2.c: Likewise.
      	* gcc.target/mips/div-3.c: Likewise.
      	* gcc.target/mips/div-4.c: Likewise.
      	* gcc.target/mips/div-5.c: Likewise.
      	* gcc.target/mips/div-6.c: Likewise.
      	* gcc.target/mips/div-7.c: Likewise.
      	* gcc.target/mips/div-8.c: Likewise.
      	* gcc.target/mips/div-9.c: Likewise.
      	* gcc.target/mips/div-10.c: Likewise.
      	* gcc.target/mips/div-11.c: Likewise.
      	* gcc.target/mips/div-12.c: Likewise.
      	* gcc.target/mips/dsp-ctrl.c: Likewise.
      	* gcc.target/mips/dsp-no-lhx.c: Likewise.
      	* gcc.target/mips/ext-8.c: Likewise.
      	* gcc.target/mips/extend-2.c: Likewise.
      	* gcc.target/mips/fix-r10000-1.c: Likewise.
      	* gcc.target/mips/fix-r10000-2.c: Likewise.
      	* gcc.target/mips/fix-r10000-3.c: Likewise.
      	* gcc.target/mips/fix-r10000-4.c: Likewise.
      	* gcc.target/mips/fix-r10000-5.c: Likewise.
      	* gcc.target/mips/fix-r10000-6.c: Likewise.
      	* gcc.target/mips/fix-r10000-7.c: Likewise.
      	* gcc.target/mips/fix-r10000-8.c: Likewise.
      	* gcc.target/mips/fix-r10000-9.c: Likewise.
      	* gcc.target/mips/fix-r10000-10.c: Likewise.
      	* gcc.target/mips/fix-r10000-11.c: Likewise.
      	* gcc.target/mips/fix-r10000-12.c: Likewise.
      	* gcc.target/mips/fix-r10000-13.c: Likewise.
      	* gcc.target/mips/fix-r10000-14.c: Likewise.
      	* gcc.target/mips/fix-r10000-15.c: Likewise.
      	* gcc.target/mips/fpcmp-1.c: Likewise.
      	* gcc.target/mips/fpcmp-2.c: Likewise.
      	* gcc.target/mips/fpr-moves-7.c: Likewise.
      	* gcc.target/mips/fpr-moves-8.c: Likewise.
      	* gcc.target/mips/int-moves-1.c: Likewise.
      	* gcc.target/mips/int-moves-2.c: Likewise.
      	* gcc.target/mips/long-calls-pg.c: Likewise.
      	* gcc.target/mips/loongson-muldiv-1.c: Likewise.
      	* gcc.target/mips/loongson-muldiv-2.c: Likewise.
      	* gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise.
      	* gcc.target/mips/loongson3a-muldiv-1.c: Likewise.
      	* gcc.target/mips/loongson3a-muldiv-2.c: Likewise.
      	* gcc.target/mips/mips-3d-1.c: Likewise.
      	* gcc.target/mips/mips-3d-2.c: Likewise.
      	* gcc.target/mips/mips-3d-3.c: Likewise.
      	* gcc.target/mips/mips-3d-4.c: Likewise.
      	* gcc.target/mips/mips-3d-5.c: Likewise.
      	* gcc.target/mips/mips-3d-6.c: Likewise.
      	* gcc.target/mips/mips-3d-7.c: Likewise.
      	* gcc.target/mips/mips-3d-8.c: Likewise.
      	* gcc.target/mips/mips-3d-9.c: Likewise.
      	* gcc.target/mips/mips-ps-1.c: Likewise.
      	* gcc.target/mips/mips-ps-2.c: Likewise.
      	* gcc.target/mips/mips-ps-3.c: Likewise.
      	* gcc.target/mips/mips-ps-4.c: Likewise.
      	* gcc.target/mips/mips-ps-6.c: Likewise.
      	* gcc.target/mips/mips32-dspr2.c: Likewise.
      	* gcc.target/mips/mmcount-ra-address-1.c: Likewise.
      	* gcc.target/mips/neg-abs-1.c: Likewise.
      	* gcc.target/mips/neg-abs-2.c: Likewise.
      	* gcc.target/mips/nmadd-3.c: Likewise.
      	* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
      	* gcc.target/mips/no-smartmips-ror-1.c: Likewise.
      	* gcc.target/mips/octeon-pop-1.c: Likewise.
      	* gcc.target/mips/pr26765.c: Likewise.
      	* gcc.target/mips/pr33256.c: Likewise.
      	* gcc.target/mips/pr33635-1.c: Likewise.
      	* gcc.target/mips/pr33755.c: Likewise.
      	* gcc.target/mips/pr35802.c: Likewise.
      	* gcc.target/mips/pr45074.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
      	* gcc.target/mips/save-restore-1.c: Likewise.
      	* gcc.target/mips/save-restore-3.c: Likewise.
      	* gcc.target/mips/save-restore-5.c: Likewise.
      	* gcc.target/mips/smartmips-ror-1.c: Likewise.
      	* gcc.target/mips/smartmips-ror-2.c: Likewise.
      	* gcc.target/mips/smartmips-ror-3.c: Likewise.
      	* gcc.target/mips/smartmips-ror-4.c: Likewise.
      	* gcc.target/mips/stack-1.c: Likewise.
      
      	* gcc.target/mips/clear-cache-2.c: Remove optimization flag.
      	Tighten regexps.
      
      	* gcc.target/mips/branch-8.c: Arrange for the delay slot of the
      	branch under test to be filled with preceding rather than
      	following instructions.
      	* gcc.target/mips/branch-10.c: Likewise.
      	* gcc.target/mips/branch-11.c: Likewise.
      	* gcc.target/mips/branch-12.c: Likewise.
      	* gcc.target/mips/branch-13.c: Likewise.
      	* gcc.target/mips/branch-9.c: Likewise.  Allow the frame pointer
      	to be eliminated.  Tighten $28 scan-assembler-not test.
      
      	* gcc.target/mips/call-2.c: Remove optimization flag.  Move second
      	function to...
      	* gcc.target/mips/call-4.c: ...this new test.
      
      	* gcc.target/mips/code-readable-2.c: Rework to make a jump table
      	more likely.
      	* gcc.target/mips/code-readable-3.c: Likewise.
      	* gcc.target/mips/code-readable-1.c: Likewise.  Remove optimization
      	flag but skip for -O0.
      	* gcc.target/mips/code-readable-4.c: Likewise.
      
      	* gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction
      	of operations under test.
      	* gcc.target/mips/mips32-dsp.c: Likewise.  Remove optimization flag.
      
      	* gcc.target/mips/near-far-3.c: Remove optimization flag.
      	Don't require sibling-call optimization.
      	* gcc.target/mips/near-far-4.c: Likewise.
      
      	* gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects.
      	Make sure that the register variable is used.
      	* gcc.target/mips/soft-float-1.c: Likewise.
      
      	* gcc.target/mips/sdata-1.c: Make static data volatile.
      	* gcc.target/mips/sdata-2.c: Likewise.
      	* gcc.target/mips/sdata-3.c: Likewise.
      	* gcc.target/mips/sdata-4.c: Likewise.
      
      	* gcc.target/mips/20020620-1.c: Remove optimization flag but
      	skip for -O0.
      	* gcc.target/mips/atomic-memory-2.c: Likewise.
      	* gcc.target/mips/branch-cost-1.c: Likewise.
      	* gcc.target/mips/branch-cost-2.c: Likewise.
      	* gcc.target/mips/cache-1.c: Likewise.
      	* gcc.target/mips/call-1.c: Likewise.
      	* gcc.target/mips/call-saved-2.c: Likewise.
      	* gcc.target/mips/const-anchor-1.c: Likewise.
      	* gcc.target/mips/const-anchor-2.c: Likewise.
      	* gcc.target/mips/dse-1.c: Likewise.
      	* gcc.target/mips/dsp-lhx.c: Likewise.
      	* gcc.target/mips/dspr2-MULTU.c: Likewise.
      	* gcc.target/mips/ext-1.c: Likewise.
      	* gcc.target/mips/ext-2.c: Likewise.
      	* gcc.target/mips/ext-3.c: Likewise.
      	* gcc.target/mips/ext-4.c: Likewise.
      	* gcc.target/mips/ext-5.c: Likewise.
      	* gcc.target/mips/ext-6.c: Likewise.
      	* gcc.target/mips/ext-7.c: Likewise.
      	* gcc.target/mips/extend-1.c: Likewise.
      	* gcc.target/mips/fix-r4000-1.c: Likewise.
      	* gcc.target/mips/fix-r4000-3.c: Likewise.
      	* gcc.target/mips/fix-r4000-5.c: Likewise.
      	* gcc.target/mips/fix-r4000-6.c: Likewise.
      	* gcc.target/mips/fix-r4000-8.c: Likewise.
      	* gcc.target/mips/fix-r4000-10.c: Likewise.
      	* gcc.target/mips/fixed-scalar-type.c: Likewise.
      	* gcc.target/mips/fixed-vector-type.c: Likewise.
      	* gcc.target/mips/fpr-moves-1.c: Likewise.
      	* gcc.target/mips/fpr-moves-2.c: Likewise.
      	* gcc.target/mips/fpr-moves-3.c: Likewise.
      	* gcc.target/mips/fpr-moves-4.c: Likewise.
      	* gcc.target/mips/fpr-moves-5.c: Likewise.
      	* gcc.target/mips/fpr-moves-6.c: Likewise.
      	* gcc.target/mips/ins-1.c: Likewise.
      	* gcc.target/mips/ins-2.c: Likewise.
      	* gcc.target/mips/interrupt_handler-2.c: Likewise.
      	* gcc.target/mips/interrupt_handler-3.c: Likewise.
      	* gcc.target/mips/lazy-binding-1.c: Likewise.
      	* gcc.target/mips/madd-3.c: Likewise.
      	* gcc.target/mips/madd-5.c: Likewise.
      	* gcc.target/mips/madd-6.c: Likewise.
      	* gcc.target/mips/madd-8.c: Likewise.
      	* gcc.target/mips/madd-9.c: Likewise.
      	* gcc.target/mips/memcpy-1.c: Likewise.
      	* gcc.target/mips/mips-ps-type.c: Likewise.
      	* gcc.target/mips/mips-ps-type-2.c: Likewise.
      	* gcc.target/mips/mips-sched-madd.c: Likewise.
      	* gcc.target/mips/mips16e-extends.c: Likewise.
      	* gcc.target/mips/mips32r2-mxhc1.c: Likewise.
      	* gcc.target/mips/mips64-dsp-ldx.c: Likewise.
      	* gcc.target/mips/movcc-1.c: Likewise.
      	* gcc.target/mips/movcc-2.c: Likewise.
      	* gcc.target/mips/movcc-3.c: Likewise.
      	* gcc.target/mips/msub-5.c: Likewise.
      	* gcc.target/mips/msub-6.c: Likewise.
      	* gcc.target/mips/msub-8.c: Likewise.
      	* gcc.target/mips/mult-2.c: Likewise.
      	* gcc.target/mips/mult-3.c: Likewise.
      	* gcc.target/mips/mult-5.c: Likewise.
      	* gcc.target/mips/mult-6.c: Likewise.
      	* gcc.target/mips/mult-7.c: Likewise.
      	* gcc.target/mips/mult-12.c: Likewise.
      	* gcc.target/mips/mult-13.c: Likewise.
      	* gcc.target/mips/mult-14.c: Likewise.
      	* gcc.target/mips/mult-15.c: Likewise.
      	* gcc.target/mips/mult-17.c: Likewise.
      	* gcc.target/mips/mult-18.c: Likewise.
      	* gcc.target/mips/mult-19.c: Likewise.
      	* gcc.target/mips/nmadd-1.c: Likewise.
      	* gcc.target/mips/nmadd-2.c: Likewise.
      	* gcc.target/mips/octeon-baddu-1.c: Likewise.
      	* gcc.target/mips/octeon-cins-1.c: Likewise.
      	* gcc.target/mips/octeon-cins-2.c: Likewise.
      	* gcc.target/mips/octeon-dmul-3.c: Likewise.
      	* gcc.target/mips/octeon-exts-2.c: Likewise.
      	* gcc.target/mips/octeon-exts-3.c: Likewise.
      	* gcc.target/mips/octeon-exts-4.c: Likewise.
      	* gcc.target/mips/octeon-exts-5.c: Likewise.
      	* gcc.target/mips/octeon-exts-6.c: Likewise.
      	* gcc.target/mips/octeon-exts-7.c: Likewise.
      	* gcc.target/mips/octeon-pop-2.c: Likewise.
      	* gcc.target/mips/octeon-seq-3.c: Likewise.
      	* gcc.target/mips/octeon-seq-4.c: Likewise.
      	* gcc.target/mips/octeon2-lx-1.c: Likewise.
      	* gcc.target/mips/octeon2-lx-2.c: Likewise.
      	* gcc.target/mips/octeon2-lx-3.c: Likewise.
      	* gcc.target/mips/pr54240.c: Likewise.
      	* gcc.target/mips/rsqrt-1.c: Likewise.
      	* gcc.target/mips/rsqrt-2.c: Likewise.
      	* gcc.target/mips/rsqrt-3.c: Likewise.
      	* gcc.target/mips/rsqrt-4.c: Likewise.
      	* gcc.target/mips/save-restore-2.c: Likewise.
      	* gcc.target/mips/save-restore-4.c: Likewise.
      	* gcc.target/mips/sb1-1.c: Likewise.
      	* gcc.target/mips/scc-1.c: Likewise.
      	* gcc.target/mips/scc-2.c: Likewise.
      	* gcc.target/mips/scc-3.c: Likewise.
      	* gcc.target/mips/scc-4.c: Likewise.
      	* gcc.target/mips/smartmips-lwxs.c: Likewise.
      	* gcc.target/mips/truncate-1.c: Likewise.
      	* gcc.target/mips/truncate-2.c: Likewise.
      	* gcc.target/mips/truncate-3.c: Likewise.
      	* gcc.target/mips/truncate-4.c: Likewise.
      	* gcc.target/mips/truncate-5.c: Likewise.
      	* gcc.target/mips/truncate-6.c: Likewise.
      	* gcc.target/mips/unaligned-1.c: Likewise.
      
      	* gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but
      	skip for -O0.  Require -fexpensive-optimizations.
      	* gcc.target/mips/dpsq_sa_l_w.c: Likewise.
      	* gcc.target/mips/dspr2-MULT.c: Likewise.
      	* gcc.target/mips/fix-r4000-2.c: Likewise.
      	* gcc.target/mips/fix-r4000-4.c: Likewise.
      	* gcc.target/mips/fix-r4000-7.c: Likewise.
      	* gcc.target/mips/fix-r4000-9.c: Likewise.
      	* gcc.target/mips/madd-1.c: Likewise.
      	* gcc.target/mips/madd-2.c: Likewise.
      	* gcc.target/mips/madd-4.c: Likewise.
      	* gcc.target/mips/maddu-1.c: Likewise.
      	* gcc.target/mips/maddu-2.c: Likewise.
      	* gcc.target/mips/maddu-3.c: Likewise.
      	* gcc.target/mips/maddu-4.c: Likewise.
      	* gcc.target/mips/msub-1.c: Likewise.
      	* gcc.target/mips/msub-2.c: Likewise.
      	* gcc.target/mips/msub-3.c: Likewise.
      	* gcc.target/mips/msub-4.c: Likewise.
      	* gcc.target/mips/msubu-1.c: Likewise.
      	* gcc.target/mips/msubu-2.c: Likewise.
      	* gcc.target/mips/msubu-3.c: Likewise.
      	* gcc.target/mips/msubu-4.c: Likewise.
      	* gcc.target/mips/mult-1.c: Likewise.
      	* gcc.target/mips/mult-4.c: Likewise.
      	* gcc.target/mips/mult-8.c: Likewise.
      	* gcc.target/mips/mult-9.c: Likewise.
      	* gcc.target/mips/mult-10.c: Likewise.
      	* gcc.target/mips/mult-11.c: Likewise.
      	* gcc.target/mips/mult-16.c: Likewise.
      
      	* gcc.target/mips/fix-r4000-11.c: Remove optimization flag but
      	skip for -O0 and -Os.
      	* gcc.target/mips/fix-r4000-12.c: Likewise.
      	* gcc.target/mips/madd-7.c: Likewise.
      	* gcc.target/mips/mips-ps-5.c: Likewise.
      	* gcc.target/mips/mips-ps-7.c: Likewise.
      	* gcc.target/mips/msub-7.c: Likewise.
      
      	* gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but
      	skip for -O0.  Require -mno-abicalls.
      	* gcc.target/mips/mmcount-ra-address-3.c: Likewise.
      
      	* gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but
      	skip for -O0.  Require a total number of BBIT instructions and
      	at least one of each kind.
      
      	* gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but
      	skip for -O0.  Require -fno-unroll-loops.
      
      	* gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but
      	skip for -O0.  Allow BLTZ as well as BGEZ.
      
      	* gcc.target/mips/octeon-dmul-2.c: Skip for -Os.
      
      	* gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but
      	skip for -O0.  Require -fschedule-insns2.
      	* gcc.target/mips/octeon2-pipe-1.c: Likewise.
      
      	* gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag
      	but skip for -O0.  Make a branch-likely more likely.
      
      	* gcc.target/mips/timode-2.c: Split each test into its own function.
      	* gcc.target/mips/timode-1.c: Likewise.  Skip for -Os.
      
      	* gcc.target/mips/vr-mult-1.c: Remove optimization flag but
      	skip for -O0.  Require -fpeephole2.
      	* gcc.target/mips/vr-mult-2.c: Likewise.
      
      From-SVN: r190718
      Richard Sandiford committed
    • mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs. · cb038fd2
      gcc/
      	* config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
      	SYMBOL_REF SET_SRCs.
      
      From-SVN: r190717
      Richard Sandiford committed
    • mips.c (vr4130_align_insns): Don't simulate ghost instructions. · d8c51572
      gcc/
      	* config/mips/mips.c (vr4130_align_insns): Don't simulate
      	ghost instructions.  Assert that the required instructions exist.
      
      From-SVN: r190716
      Richard Sandiford committed
    • PR preprocessor/53469 - argument tokens of _Pragma miss virtual location · f3d25c65
      Consider this short test snippet:
      
      -------------------------8-------------------
          #define STRINGIFY(x) #x
          #define TEST(x) \
            _Pragma(STRINGIFY(GCC diagnostic ignored "-Wunused-local-typedefs")) \
            typedef int myint;
      
          void bar ()
          {
            TEST(myint)
          }
      -------------------------8-------------------
      
      The _Pragma is effectively ignored, and compiling with
      -Wunused-local-typedefs warns on the local typedef, even though the
      pragma should have prevented the warning to be emitted.
      
      This is because when the preprocessor sees the _Pragma operator and
      then goes to handle the first token ('GCC' here) that makes up its
      operands, it retains the spelling location of that token, not its
      virtual location.
      
      Later when diagnostic_report_diagnostic is called to emit the warning
      (or ignore it because of the pragma), it compares the location of the
      first operand of the pragma with the location of the unused location,
      (by calling linemap_location_before_p) and that comparison fails
      because in this case, both locations should be virtual.
      
      This patch fixes the issue by teaching the pragma handling to use
      virtual locations.
      
      Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
      
      libcpp/
      
      	PR preprocessor/53469
      	* directives.c (do_pragma): Use the virtual location for the
      	pragma token, instead of its spelling location.
      
      gcc/testsuite/
      
      	PR preprocessor/53469
      	* gcc.dg/cpp/_Pragma7.c: New test case.
      
      From-SVN: r190714
      Dodji Seketeli committed
    • re PR fortran/54384 (gfortran memory leaks) · c0782a40
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54384
              * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
              and loop.
      
      From-SVN: r190713
      Tobias Burnus committed
    • Add interfaces to retrieve random numbers in bulk. · 7b93bdde
      	* include/bits/random.h (uniform_int_distribution<>): Add __generate
      	and __generate_impl functions.
      	(uniform_real_distribution<>): Likewise.
      	(bernoulli_distribution): Likewise.
      	(geometric_distribution<>): Likewise.
      	(negative_binomial_distribution<>): Likewise.
      	(poisson_distribution<>): Likewise.
      	(exponential_distribution<>): Likewise.
      	(normal_distribution<>): Likewise.
      	(lognormal_distribution<>): Likewise.
      	(chi_squared_distribution<>): Likewise.
      	(cauchy_distribution<>): Likewise.
      	(fisher_f_distribution<>): Likewise.
      	(student_t_distribution<>): Likewise.
      	(gamma_distribution<>): Likewise.
      	(weibull_distribution<>): Likewise.
      	(extreme_value_distribution<>): Likewise.
      	(discrete_distribution<>): Likewise.
      	(piecewise_constant_distribution<>): Likewise.
      	(piecewise_linear_distribution<>): Likewise.
      	* include/bits/random.tcc (__detail::_Power_of_2): New function.
      	(uniform_int_distribution<>::__generate_impl): New function.
      	(uniform_real_distribution<>::__generate_impl): New function.
      	(bernoulli_distribution::__generate_impl): New function.
      	(geometric_distribution<>::__generate_impl): New function.
      	(negative_binomial_distribution<>::__generate_impl): New function.
      	(poisson_distribution<>::__generate_impl): New function.
      	(exponential_distribution<>::__generate_impl): New function.
      	(normal_distribution<>::__generate_impl): New function.
      	(lognormal_distribution<>::__generate_impl): New function.
      	(chi_squared_distribution<>::__generate_impl): New function.
      	(cauchy_distribution<>::__generate_impl): New function.
      	(fisher_f_distribution<>::__generate_impl): New function.
      	(student_t_distribution<>::__generate_impl): New function.
      	(gamma_distribution<>::__generate_impl): New function.
      	(weibull_distribution<>::__generate_impl): New function.
      	(extreme_value_distribution<>::__generate_impl): New function.
      	(discrete_distribution<>::__generate_impl): New function.
      	(piecewise_constant_distribution<>::__generate_impl): New function.
      	(piecewise_linear_distribution<>::__generate_impl): New function.
      
      From-SVN: r190712
      Ulrich Drepper committed
    • random.h (mersenne_twister_engine): Don't inline discard here. · b668e41a
      
      	* include/bits/random.h (mersenne_twister_engine): Don't inline
      	discard here.  New member function _M_gen_rand.
      	* include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
      	New function.  Extracted from operator().
      	(mersenne_twister_engine<>::discard): New implementation which
      	skips in large steps.
      	(mersenne_twister_engine<>::operator()): Use _M_gen_rand.
      
      From-SVN: r190711
      Ulrich Drepper committed
    • re PR fortran/41093 (memory leaks with gfc_namespace) · 6f79f4d1
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/41093
              * gfortran.h (gfc_common_head): Add "int refs".
              * match.c (gfc_match_common): Increment refs.
              * resolve.c (resolve_symbol): Only increment formal_ns->refs
              if formal_ns is not sym->ns.
              * symbol.c (gfc_free_symbol): Only free formal_ns if
              if formal_ns is not sym->ns. Free common_block if refs is one.
              (gfc_release_symbol): Release formal_ns only if the
              symbol is not ENTRY of a module.
              * decl.c (get_proc_name): Don't increment gfc_current_ns->refs.
              * parse.c (parse_interface): Incement proc_unit->refs++ for
              proc-pointer result variables.
              * module.c (mio_symbol): Don't increase sym->refs for its
              use in sym->formal_ns->proc_name.
      
      From-SVN: r190710
      Tobias Burnus committed
    • re PR fortran/54370 (error: non-trivial conversion in unary operation) · 1d636855
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54370
              * trans-stmt.c (gfc_trans_do_while): Don't change the logical
              kind for negation of the condition.
      
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54370
              * gfortran.dg/do_5.f90: New.
      
      From-SVN: r190709
      Tobias Burnus committed
    • MAINTAINERS: Fix my email address. · 6c513d43
      
              * MAINTAINERS: Fix my email address.
      
      From-SVN: r190708
      Ulrich Drepper committed
    • options.c (set_Wall): Don't set for -Wcompare-reals. · e9b49000
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              * options.c (set_Wall): Don't set for -Wcompare-reals.
              * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer
              implies -Wcompare-reals.
      
      2012-08-27  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals
              from dg-options as -Wall no longer implies it.
      
      From-SVN: r190707
      Tobias Burnus committed
    • Daily bump. · 12a3e30e
      From-SVN: r190706
      GCC Administrator committed
  2. 26 Aug, 2012 22 commits