| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* gcc.target/mips/code-readable-1.c: Increase switch size.
* gcc.target/mips/code-readable-2.c: Ditto.
* gcc.target/mips/code-readable-3.c: Ditto.
* gcc.target/mips/code-readable-4.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201353 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190718 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/mips.md
(UNSPEC_CASESI_DISPATCH): New.
(MIPS16_T_REGNUM): New constant.
(tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
(casesi): New.
(casesi_internal_mips16_<mode>): New.
* config/mips/mips.c (mips16_split_long_branches): Adjust test
to ignore casesi jump tables.
* config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
comment.
(CASE_VECTOR_MODE): Use SImode unconditionally.
(CASE_VECTOR_SHORTEN_MODE): Define.
(ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
when necessary for MIPS16_SHORT_JUMP_TABLES.
gcc/testsuite/
* gcc.target/mips/code-readable-1.c: Add -O to options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190625 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
matching assembly.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152039 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gcc.target/mips/mips.exp: Rewrite.
* gcc.target/mips/20020620-1.c: Use dg-options instead of
dg-mips-options. Remove target restrictions from dg-do.
* 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/asm-1.c: Use dg-options instead of dg-mips-options.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/clear-cache-2.c: Likewise.
* gcc.target/mips/dse-1.c: Likewise.
* gcc.target/mips/fix-r4000-1.c: Likewise.
* gcc.target/mips/fix-r4000-2.c: Likewise.
* gcc.target/mips/fix-r4000-3.c: Likewise.
* gcc.target/mips/fix-r4000-4.c: Likewise.
* gcc.target/mips/fix-r4000-5.c: Likewise.
* gcc.target/mips/fix-r4000-6.c: Likewise.
* gcc.target/mips/fix-r4000-7.c: Likewise.
* gcc.target/mips/fix-r4000-8.c: Likewise.
* gcc.target/mips/fix-r4000-9.c: Likewise.
* gcc.target/mips/fix-r4000-10.c: Likewise.
* gcc.target/mips/fix-r4000-11.c: Likewise.
* gcc.target/mips/fix-r4000-12.c: Likewise.
* gcc.target/mips/fix-vr4130-1.c: Likewise.
* gcc.target/mips/fix-vr4130-2.c: Likewise.
* gcc.target/mips/fix-vr4130-3.c: Likewise.
* gcc.target/mips/fix-vr4130-4.c: Likewise.
* gcc.target/mips/fpcmp-1.c: Likewise.
* gcc.target/mips/fpcmp-2.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/gcc-have-sync-compare-and-swap-2.c: Likewise.
* gcc.target/mips/madd-1.c: Likewise.
* gcc.target/mips/madd-2.c: Likewise.
* gcc.target/mips/madd-5.c: Likewise.
* gcc.target/mips/madd-6.c: Likewise.
* gcc.target/mips/madd-7.c: Likewise.
* gcc.target/mips/madd-8.c: Likewise.
* gcc.target/mips/maddu-1.c: Likewise.
* gcc.target/mips/maddu-2.c: Likewise.
* gcc.target/mips/memcpy-1.c: Likewise.
* gcc.target/mips/mips-sched-madd.c: Likewise.
* gcc.target/mips/msub-1.c: Likewise.
* gcc.target/mips/msub-2.c: Likewise.
* gcc.target/mips/msub-5.c: Likewise.
* gcc.target/mips/msub-6.c: Likewise.
* gcc.target/mips/msub-7.c: Likewise.
* gcc.target/mips/msub-8.c: Likewise.
* gcc.target/mips/msubu-1.c: Likewise.
* gcc.target/mips/msubu-2.c: Likewise.
* gcc.target/mips/neg-abs-1.c: Likewise.
* gcc.target/mips/neg-abs-2.c: Likewise.
* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
* gcc.target/mips/no-smartmips-ror-1.c: Likewise.
* gcc.target/mips/octeon-baddu-1.c: Likewise.
* gcc.target/mips/octeon-bbit-2.c: Likewise.
* gcc.target/mips/octeon-bbit-3.c: Likewise.
* gcc.target/mips/octeon-cins-1.c: Likewise.
* gcc.target/mips/octeon-cins-2.c: Likewise.
* gcc.target/mips/octeon-dmul-1.c: Likewise.
* gcc.target/mips/octeon-dmul-2.c: Likewise.
* gcc.target/mips/octeon-exts-1.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-pop-1.c: Likewise.
* gcc.target/mips/octeon-seq-1.c: Likewise.
* gcc.target/mips/octeon-seq-2.c: Likewise.
* gcc.target/mips/octeon-seq-3.c: Likewise.
* gcc.target/mips/octeon-seq-4.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/pr34831.c: Likewise.
* gcc.target/mips/pr35802.c: Likewise.
* gcc.target/mips/pr37362.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-10.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-15.c: Likewise.
* gcc.target/mips/r3900-mult.c: Likewise.
* gcc.target/mips/rsqrt-4.c: Likewise.
* gcc.target/mips/sb1-1.c: Likewise.
* gcc.target/mips/scc-2.c: Likewise.
* gcc.target/mips/scc-4.c: Likewise.
* gcc.target/mips/sdata-1.c: Likewise.
* gcc.target/mips/sdata-2.c: Likewise.
* gcc.target/mips/sdata-3.c: Likewise.
* gcc.target/mips/sdata-4.c: Likewise.
* gcc.target/mips/smartmips-lwxs.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/timode-1.c: Likewise.
* gcc.target/mips/truncate-1.c: Likewise.
* gcc.target/mips/truncate-2.c: Likewise.
* gcc.target/mips/vr-mult-1.c: Likewise.
* gcc.target/mips/vr-mult-2.c: Likewise.
* gcc.target/mips/atomic-memory-2.c: Use dg-options instead of
dg-mips-options. Use isa>=2 instead of -mips32.
* gcc.target/mips/branch-cost-1.c: Use dg-options instead of
dg-mips-options. Use isa>=4 instead of -mips64.
* gcc.target/mips/branch-cost-2.c: Likewise.
* gcc.target/mips/cache-1.c: Use dg-options instead of
dg-mips-options. Add isa>=3 and NOMIPS16 attributes.
* gcc.target/mips/call-saved-1.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Use isa_rev=0 instead of -mips2.
* gcc.target/mips/call-saved-2.c: Likewise.
* gcc.target/mips/call-saved-3.c: Likewise.
* gcc.target/mips/clear-cache-1.c: Use dg-options instead of
dg-mips-options. Use isa_rev>=2 instead of -mips32r2.
* gcc.target/mips/ext_ins.c: Likewise.
* gcc.target/mips/code-readable-1.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Use addressing=absolute too.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
* gcc.target/mips/dmult-1.c: Use dg-options instead of
dg-mips-options. Remove the mips16_attribute directives.
* gcc.target/mips/gcc-have-sync-compare-and-swap-4.c: Likewise.
* gcc.target/mips/dpaq_sa_l_w.c: Use dg-options instead of
dg-mips-options. Remove target restrictions from dg-do.
Use -mgp32 instead of -mips32r2.
* gcc.target/mips/dpsq_sa_l_w.c: Likewise.
* gcc.target/mips/dsp-ctrl.c: Use dg-options instead of
dg-mips-options. Remove target restrictions from dg-do.
Remove the !__mips_dsp code and add -mdsp -mgp32 to dg-options
instead. Add NOMIPS16 attributes.
* gcc.target/mips/dspr2-MULT.c: Use dg-options instead of
dg-mips-options. Replace -march=mips32r2 with -mgp32.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
* gcc.target/mips/ext-1.c: Use dg-options instead of
dg-mips-options. Use isa_rev>=2 instead of -mips64r2.
* gcc.target/mips/fix-r10000-1.c: Use dg-options instead of
dg-mips-options. Remove -march=mips4.
* 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/fixed-scalar-type.c: Use dg-options instead
of dg-mips-options. Remove target restrictions from dg-do.
Remove -march=mips32r2.
* gcc.target/mips/fixed-vector-type.c: Likewise.
* gcc.target/mips/mips32-dsp-run.c: Likewise.
* gcc.target/mips/mips32-dspr2.c: Likewise. Add NOMIPS16 attributes.
* gcc.target/mips/fpr-moves-7.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Remove -msoft-float.
* 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/gcc-have-sync-compare-and-swap-1.c: Use dg-options
instead of dg-mips-options. Use isa>=2 instead of -mips2.
Add -mgp32.
* gcc.target/mips/gcc-have-sync-compare-and-swap-3.c: Likewise.
* gcc.target/mips/ins-1.c: Use dg-options instead of
dg-mips-options. Use "isa_rev>=2 -mgp32" instead of -march=mips32r2.
* gcc.target/mips/loongson-muldiv-1.c: Use dg-options instead of
dg-mips-options. Use isa=loongson instead of -march=loongson2e.
* gcc.target/mips/loongson-muldiv-2.c: Likewise.
* gcc.target/mips/loongson-simd.c: Remove mips_loongson
target requirement and use isa=loongson instead. Add -mhard-float,
-mno-mips16 and -flax-vector-conversions.
* gcc.target/mips/lazy-binding-1.c: Use dg-options instead of
dg-mips-options. Remove target restrictions from dg-do.
Add NOMIPS16 attributes.
* gcc.target/mips/long-calls-pg.c: Use dg-options instead of
dg-mips-options. Remove -march=mips32 and -fno-pic.
Add NOMIPS16 attributes.
* gcc.target/mips/madd-3.c: Use dg-options instead of
dg-mips-options. Use isa_rev>=1 instead of -mips32.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/madd-4.c: Use dg-options instead of
dg-mips-options. Remove -mips32r2.
* gcc.target/mips/maddu-4.c: Likewise.
* gcc.target/mips/msub-4.c: Likewise.
* gcc.target/mips/msubu-4.c: Likewise.
* gcc.target/mips/mips-3d-1.c: Use dg-options instead of
dg-mips-options. Remove target restrictions from dg-do.
Remove -mips64, -mhard-float and -mgp64.
* 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-5.c: Use dg-options instead of
dg-mips-options. Remove -mips64.
* gcc.target/mips/mips-ps-type.c: Likewise.
* gcc.target/mips/mips-ps-7.c: Use dg-options instead of
dg-mips-options. Replace -mips32r2 with -mgp32.
* gcc.target/mips/mips-ps-type-2.c: Use dg-options instead of
dg-mips-options. Use "isa_rev>=2 -mgp32" instead of -mips32r2.
* gcc.target/mips/mips16-attributes.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option.
* gcc.target/mips/mips16-attributes-2.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
* gcc.target/mips/scc-3.c: Likewise.
* gcc.target/mips/mips16-attributes-3.c: Add { dg-options "(-mips16)" }.
* gcc.target/mips/mips16e-extends.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Use isa_rev>=1 instead of -march=mips32.
Add -mlong32.
* gcc.target/mips/mips32-dsp.c: Use dg-options instead of
dg-mips-options. Replace -march=mips32 with -mgp32.
* gcc.target/mips/mips32-dsp-type.c: Use dg-options instead of
dg-mips-options. Remove -march=mips32.
* gcc.target/mips/mips32-dspr2-type.c: Use dg-options instead of
dg-mips-options. Remove -march=mips32r2.
* gcc.target/mips/mips32r2-mxhc1.c: Use dg-options instead of
dg-mips-options. Add NOMIPS16 attributes.
* gcc.target/mips/movcc-1.c: Use dg-options instead of
dg-mips-options. Use isa>=4 instead of -mips4.
* gcc.target/mips/movcc-2.c: Likewise.
* gcc.target/mips/movcc-3.c: Likewise.
* gcc.target/mips/octeon-bbit-1.c: Use dg-options instead of
dg-mips-options. Declare foo as a NOMIPS16 function.
Use foo instead of g.
* gcc.target/mips/near-far-1.c: Use dg-options instead of
dg-mips-options. Replace the nonpic directives with an
addressing=absolute option.
* gcc.target/mips/near-far-2.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/nmadd-1.c: Use dg-options instead of
dg-mips-options. Use isa=4 instead of -mips4.
* gcc.target/mips/nmadd-2.c: Likewise.
* gcc.target/mips/nmadd-3.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/save-restore-1.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Use isa_rev>=1 instead of -mips32r2.
* gcc.target/mips/save-restore-2.c: Likewise.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
* gcc.target/mips/save-restore-5.c: Likewise.
* gcc.target/mips/scc-1.c: Use dg-options instead of
dg-mips-options. Replace the mips16_attribute directives with
a (-mips16) dg-option. Use isa_rev>=1 instead of -mips32.
* gcc.target/mips/timode-2.c: Remove target restrictions from dg-do.
Use -mgp64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142875 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/sourcebuild.texi: Document dg-add-options mips16_attribute.
gcc/testsuite/
* lib/target-supports.exp (add_options_for_mips16_attribute)
(check_effective_target_mips16_attribute): New functions.
* gcc.target/mips/mips.exp: Define MIPS16 and NOMIPS16 on the
command line.
(dg-mips-options) Remove -mno-mips16 handling. Add options to
extra_test_flags.
* gcc.target/mips/asm-1.c (NOMIPS16): Delete.
* gcc.target/mips/atomic-memory-1.c (NOMIPS16): Likewise.
* gcc.target/mips/atomic-memory-2.c (NOMIPS16): Likewise.
* gcc.target/mips/branch-1.c (NOMIPS16): Likewise.
* gcc.target/mips/dspr2-MULT.c (NOMIPS16): Likewise.
* gcc.target/mips/dspr2-MULTU.c (NOMIPS16): Likewise.
* gcc.target/mips/fpcmp-1.c (NOMIPS16): Likewise.
* gcc.target/mips/fpcmp-2.c (NOMIPS16): Likewise.
* gcc.target/mips/ins-1.c (NOMIPS16): Likewise.
* gcc.target/mips/madd-3.c (NOMIPS16): Likewise.
* gcc.target/mips/maddu-3.c (NOMIPS16): Likewise.
* gcc.target/mips/mips32-dsp-run.c (NOMIPS16): Likewise.
* gcc.target/mips/mips32-dspr2-type.c (NOMIPS16): Likewise.
* gcc.target/mips/msub-3.c (NOMIPS16): Likewise.
* gcc.target/mips/msubu-3.c (NOMIPS16): Likewise.
* gcc.target/mips/near-far-3.c (NOMIPS16): Likewise.
* gcc.target/mips/near-far-4.c (NOMIPS16): Likewise.
* gcc.target/mips/neg-abs-1.c (NOMIPS16): Likewise.
* gcc.target/mips/smartmips-lwxs.c (NOMIPS16): Likewise.
* gcc.target/mips/smartmips-ror-1.c (NOMIPS16): Likewise.
* gcc.target/mips/smartmips-ror-2.c (NOMIPS16): Likewise.
* gcc.target/mips/smartmips-ror-3.c (NOMIPS16): Likewise.
* gcc.target/mips/smartmips-ror-4.c (NOMIPS16): Likewise.
* gcc.target/mips/pr26765.c: Use dg-mips-options instead of dg-options.
(NOMIPS16): Delete.
* gcc.target/mips/20020620-1.c: Use dg-mips-options instead
of dg-options.
* gcc.target/mips/call-saved-1.c: Remove -mips16 and -mno-abicalls
options. Require { target mips16_attribute } and use dg-add-options
to add the associated options.
(foo): Use MIPS16.
* gcc.target/mips/call-saved-2.c: As for call-saved-1.c.
* gcc.target/mips/call-saved-3.c: Likewise.
* gcc.target/mips/code-readable-1.c: Require { target
mips16_attribute } and use dg-add-options to add the associated
options. Remove trailing whitespace.
(NOMIPS16): Delete.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
* gcc.target/mips/mips16-attributes-2.c: Likewise.
* gcc.target/mips/mips16e-extends.c: Remove -mips16 option.
Require { target mips16_attribute } and use dg-add-options to
add the associated options.
(cksum16, cksum8): Use MIPS16.
* gcc.target/mips/save-restore-1.c: Remove -mips16 option.
Require { target mips16_attribute } and use dg-add-options to
add the associated options.
(foo): Use MIPS16.
* gcc.target/mips/save-restore-2.c: Likewise.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
* gcc.target/mips/save-restore-5.c: Likewise. Also remove
-mno-abicalls.
* gcc.target/mips/mips-sched-madd.c: Remove -mno-mips16.
(foo): Use NOMIPS16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128674 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
David Ung <davidu@mips.com>
Nigel Stephens <nigel@mips.com>
gcc/testsuite/
* gcc.c-torture/compile/mipscop-1.c: Add nomips16 attributes.
* gcc.c-torture/compile/mipscop-2.c: Likewise.
* gcc.c-torture/compile/mipscop-3.c: Likewise.
* gcc.c-torture/compile/mipscop-4.c: Likewise.
* gcc.dg/torture/mips-hilo-1.c: Likewise.
* gcc.dg/torture/mips-hilo-2.c: Likewise.
* gcc.dg/torture/pr19683-1.c: Likewise.
* gcc.target/mips/madd-3.c: Likewise.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/asm-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/ins-1.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/smartmips-lwxs.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/dspr2-MULT.c: Likewise.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
* gcc.target/mips/mips32-dsp-run.c: Likewise.
* gcc.target/mips/mips32-dspr2-type.c: Likewise.
* gcc.target/mips/code-readable-1.c: Add mips16 attributes.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128135 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2007-08-08 Richard Sandiford <richard@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
Chao-ying Fu <fu@mips.com>
Nigel Stephens <nigel@mips.com>
David Ung <davidu@mips.com>
* doc/invoke.texi (-mcode-readable): Document.
* config/mips/mips.opt (mcode-readable): New option.
* config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
* config/mips/mips.h (mips_code_readable_setting): New enum.
(mips_code_readable): Declare.
(TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
(TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
(JUMP_TABLES_IN_TEXT_SECTION): Use it.
(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise. Remove
boiler-plate comments.
(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
* config/mips/mips.c (mips_code_readable): New variable.
(mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES. Use both the
context and -mcode-readable setting to restrict the use of
SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
(mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
(mips_blocks_for_constant_p): Only return false for
TARGET_MIPS16_PCREL_LOADS.
(mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
for MIPS16. Handle SYMBOL_32_HIGH.
(mips_const_insns): Allow HIGHs for MIPS16 too.
(mips_unspec_address_offset): New function, split out from...
(mips_unspec_address): ...here.
(mips_output_move): Handle MIPS16 HIGH moves. Use "li" to load
16-bit symbolic constants. Assert approropiate conditions for
using the "la" and "dla" macros.
(mips_handle_option): Handle -mcode-readable=.
(override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
Set up mips_lo_relocs[SYMBOL_32_HIGH].
(mips_strip_unspec_address): New function, split out from...
(print_operand_reloc): ...here.
(print_operand): Pass constants through mips_strip_unspec_address.
(print_operand_address): Likewise.
(mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
(mips_select_rtx_section): Remove MIPS16 handling.
(mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
(mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
(mips16_lay_out_constants): Do nothing unless
TARGET_MIPS16_PCREL_LOADS.
(mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
* config/mips/mips.md: Split HIGHs for MIPS16.
(tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
gcc/testsuite/
* gcc.target/mips/code-readable-1.c: New test.
* gcc.target/mips/code-readable-2.c: Likewise.
* gcc.target/mips/code-readable-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127300 138bc75d-0d04-0410-961f-82ee72b054a4
|