On 03/23/2013 02:07 AM, Richard Sandiford wrote:
"Moore, Catherine" <catherine_mo...@mentor.com> writes:
2013-03-21 Catherine Moore <c...@codesourcery.com>
* config/mips/constraints.md (u, Udb7 Uead, Uean, Uesp, Uib3,
Uuw6, Usb4, ZS, ZT, ZU, ZV, ZW): New constraints.
* config/mip/predicates.md (lwsp_swsp_operand,
lw16_sw16_operand, lhu16_sh16_operand, lbu16_operand,
sb16_operand, db4_operand, db7_operand, ib3_operand,
sb4_operand, ub4_operand, uh4_operand, uw4_operand,
uw5_operand, uw6_operand, addiur2_operand, addiusp_operand,
andi16_operand): New predicates.
* config/mips/mips.md (compression): New attribute.
(enabled): New attribute.
(length): Consider compression in computing length.
(shift_compression): New code attribute.
(*add<mode>3): New operands. Record compression.
(sub<mode>3): Likewise.
(one_cmpl<mode>2): Likewise.
(*and<mode>3): Likewise.
(*ior<mode>3): Likewise.
(unnamed pattern for xor): Likewise.
(*zero_extend<SHORT:mode><GPR:mode>2): Likewise.
(*<optab><mode>3): Likewise.
(*mov<mode>_internal: Likewise.
* config/mips/mips-protos.h (mips_signed_immediate_p): New.
(mips_unsigned_immediate_p): New.
(umips_lwsp_swsp_address_p): New.
(m16_based_address_p): New.
* config/mips/mips-protos.h (mips_signed_immediate_p): New prototype.
(mips_unsigned_immediate_p): New prototype.
(lwsp_swsp_address_p): New prototype.
(m16_based_address_p): New prototype.
* config/mips/mips.c (mips_unsigned_immediate_p): New function.
(mips_signed_immediate_p): New function.
(m16_based_address_p): New function.
(lwsp_swsp_address_p): New function.
(mips_print_operand_punctuation): Recognize short delay slot insns
for microMIPS.add<mode>3"
OK. Thanks for your patience through all this. Now the framework's
been sorted out, the review process for future encoding patches should
be much less painful.
Richard
I just tried to bootstrap on o32 Debian. This system has binutils 2.20.1.
Here is a sample of the resulting failure when building the libjava
target libs:
.
.
.
/home/daney/gccsvn/build/./gcc/xgcc -B/home/daney/gccsvn/build/./gcc/
-B/usr/local/mips-unknown-linux-gnu/bin/
-B/usr/local/mips-unknown-linux-gnu/lib/ -isystem
/usr/local/mips-unknown-linux-gnu/include -isystem
/usr/local/mips-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I.
-I../../../../trunk/libjava/libltdl -g -O2 -minterlink-mips16 -c
../../../../trunk/libjava/libltdl/ltdl.c -fPIC -DPIC -o .libs/ltdl.o
/tmp/cckECtVQ.s: Assembler messages:
/tmp/cckECtVQ.s:12: Warning: Tried to set unrecognized symbol: nomicromips
/tmp/cckECtVQ.s:115: Warning: Tried to set unrecognized symbol: nomicromips
/tmp/cckECtVQ.s:161: Warning: Tried to set unrecognized symbol: nomicromips
.
.
.
There are literally thousands and thousands of these warnings.
David Daney