2008-05-28 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/constraints.md ('b', 'C', 'D', 'e'): New constraint letters defined. * config/s390/s390.c (s390_compare_and_branch_condition_mask, s390_contiguous_bitmask_p, s390_symref_operand_p, s390_check_symref_alignment, s390_reload_larl_operand, s390_reload_symref_address): New functions. (s390_branch_condition_mnemonic): Support compare and branch instructions. (s390_mem_constraint): Avoid symrefs to accepted by the 'T' and 'W' constraints. (s390_secondary_reload): Add secondary reloads for unaligned symbol refs or symbol refs to floating point or QI/TI mode integer values. (legitimate_address_p): Accept symbol references as addresses. (s390_expand_insv): Use rotate and insert selected bits instruction for insv when building for z10. (print_operand_address): Handle symbol ref addresses. (print_operand): Output modifier 'c' added for signed byte values. (s390_encode_section_info): Mark symbol refs with SYMBOL_FLAG_NOT_NATURALLY_ALIGNED if appropriate. * config/s390/s390.md (SIL,RRS,RIS): New instruction formats added. (length attribute): RRF, RRR have 4 byte length. (FPALL, INTALL): New mode iterators added. (*tstdi_sign, *cmpdi_ccs_sign, *cmpsi_ccs_sign, *cmp<mode>_ccs, *cmpdi_ccu_zero, *cmpdi_ccu, *cmpsi_ccu, *cmphi_ccu, *movdi_64, *movsi_zarch, *movhi, movmem<mode>, *movmem_short, *extendsidi2, *extendhidi2_extimm, *extendhisi2_extimm, *zero_extendsidi2, adddi3, *adddi3_31z, *adddi3_31, addsi3, *add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry2_cc, *add<mode>3_cc, *add<mode>3_imm_cc, *muldi3_sign, muldi3, *mulsi3_sign, mulsi3, mulsidi3): Patterns enhanced with z10 instructions. (*cmphi_ccs_z10, *cmpdi_ccs_signhi_rl, *cmpsi_ccu_zerohi_rlsi, *cmp<GPR:mode>_ccu_zerohi_rldi, *cmp_and_br_signed_<mode>, *cmp_and_br_unsigned_<mode>, reload<INTALL:mode><P:mode>_tomem_z10, reload<INTALL:mode><P:mode>_toreg_z10, reload<FPALL:mode><P:mode>_tomem_z10, reload<FPALL:mode><P:mode>_toreg_z10, reload<P:mode>_larl_odd_addend_z10, *execute_rl, *insv<mode>_z10, *insv<mode>_z10_noshift, *insv<mode>_or_z10_noshift, *zero_extendhi<mode>2_z10, *cmp_and_trap_signed_int<mode>, *cmp_and_trap_unsigned_int<mode>, prefetch): New pattern or expander definition. (movmem, clrmem, cmpmem): New splitters added. * config/s390/predicates.md (larl_operand): Use SYMBOL_REF_FLAGS (op) & SYMBOL_FLAG_ALIGN1 replaced with SYMBOL_REF_ALIGN1_P. (s390_signed_integer_comparison, s390_unsigned_integer_comparison): New predicates. * config/s390/s390-protos.h (s390_check_symref_alignment, s390_contiguous_bitmask_p, s390_reload_larl_operand, s390_reload_symref_address, s390_compare_and_branch_condition_mask): Prototypes added. * config/s390/s390.h (TARGET_MEM_CONSTRAINT, SYMBOL_REF_ALIGN1_P, SYMBOL_FLAG_NOT_NATURALLY_ALIGNED, SYMBOL_REF_NOT_NATURALLY_ALIGNED_P): Macro definition added. From-SVN: r136098
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fixincludes | Loading commit data... | |
gcc | Loading commit data... | |
gnattools | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libada | Loading commit data... | |
libcpp | Loading commit data... | |
libdecnumber | Loading commit data... | |
libffi | Loading commit data... | |
libgcc | Loading commit data... | |
libgfortran | Loading commit data... | |
libgomp | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libmudflap | Loading commit data... | |
libobjc | Loading commit data... | |
libssp | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
COPYING3 | Loading commit data... | |
COPYING3.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.tree-ssa | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
README.SCO | Loading commit data... | |
compile | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
depcomp | Loading commit data... | |
install-sh | Loading commit data... | |
libtool-ldflags | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltgcc.m4 | Loading commit data... | |
ltmain.sh | Loading commit data... | |
ltoptions.m4 | Loading commit data... | |
ltsugar.m4 | Loading commit data... | |
ltversion.m4 | Loading commit data... | |
lt~obsolete.m4 | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |