mips.h (ISA_HAS_EXTS): New macro.
* config/mips/mips.h (ISA_HAS_EXTS): New macro. * config/mips/mips.md (*ashr_trunc<mode>): Name the pattern combining an arithmetic right shift by more than 31 and a trunction. Don't match for out-of-range shift amounts. Set attribute mode to <MODE>. (*lshr32_trunc<mode>): Name the pattern combining a logical right shift by 32 and and a truncation. Set attribute mode to <MODE>. (*<optab>_trunc<mode>_exts): New pattern for truncated right shifts by less than 32. (extv): Change predicate on first operand to accept registers. Change predicate of the other operands from immediate_operand to const_int_operand. Expand exts when source is a register. (extzv): Change predicate of the constant operands from immediate_operand to const_int_operand. (extzv<mode>): Change predicate of the constant operands from immediate_operand to const_int_operand and no constraint. Also remove mode. (*extzv_trunc<mode>_exts): New pattern. testsuite/ * gcc.target/mips/truncate-2.c: New test. * gcc.target/mips/octeon-exts-1.c: New test. * gcc.target/mips/octeon-exts-2.c: New test. * gcc.target/mips/octeon-exts-3.c: New test. * gcc.target/mips/octeon-exts-4.c: New test. From-SVN: r140009
Showing
- gcc/ChangeLog 21 additions, 0 deletionsgcc/ChangeLog
- gcc/config/mips/mips.h 3 additions, 0 deletionsgcc/config/mips/mips.h
- gcc/config/mips/mips.md 60 additions, 12 deletionsgcc/config/mips/mips.md
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/mips/octeon-exts-1.c 16 additions, 0 deletionsgcc/testsuite/gcc.target/mips/octeon-exts-1.c
- gcc/testsuite/gcc.target/mips/octeon-exts-2.c 37 additions, 0 deletionsgcc/testsuite/gcc.target/mips/octeon-exts-2.c
- gcc/testsuite/gcc.target/mips/octeon-exts-3.c 35 additions, 0 deletionsgcc/testsuite/gcc.target/mips/octeon-exts-3.c
- gcc/testsuite/gcc.target/mips/octeon-exts-4.c 20 additions, 0 deletionsgcc/testsuite/gcc.target/mips/octeon-exts-4.c
- gcc/testsuite/gcc.target/mips/truncate-2.c 20 additions, 0 deletionsgcc/testsuite/gcc.target/mips/truncate-2.c
Loading
Please register or sign in to comment