* config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode. (SELECT_CC_MODE): Use s390_select_ccmode. * config/s390/s390-protos.h (s390_select_ccmode): Add. * config/s390/s390.c (s390_select_ccmode): New. (s390_match_ccmode): Add CCLmode. (s390_branch_condition_mask, s390_branch_condition_mnemonic): New. (output_branch_condition, output_inverse_branch_condition): Removed. (print_operand): Use s390_branch_condition_mnemonic. * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2, subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode. (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New. * config/s390/s390.c (check_and_change_labels): Preserve CC mode when converting conditional branches to far branches. * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si, cmpint_di): Use CCSmode instead of CCUmode. * config/s390/s390.c (legitimate_la_operand_p): New. * config/s390/s390-protos.h (legitimate_la_operand_p): Add. * config/s390/s390.md (movsi): Convert load address patterns to arithmetic operations when necessary. (addaddr_picR, addaddr_picL, addaddr_picN): Removed. (do_la): Renamed to *do_la and use legitimate_la_operand_p. (*do_la_reg_0): Don't use before reload. * config/s390/s390.c (legitimize_address): Make more efficient use of two-register addressing mode. * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog with -mno-backchain in some corner cases. * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute. From-SVN: r45891
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fastjar | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libchill | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltcf-c.sh | Loading commit data... | |
ltcf-cxx.sh | Loading commit data... | |
ltcf-gcj.sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | 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... |