* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD. * i386.md (FIRST_PSEUDO_REGISTER): Set to 20. (FIXED_REGISTERS): Set dirflag as fixed. (CALL_USED_REGISTERS): Set dirflag as used. (REG_ALLOC_ORDER): Set dirflag as last one. (DIRFLAG_REG): New macro. (MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility. (HI_REGISTER_NAMES): Add dirflag. (DEBUF_PRINT_REG): Handle dirflag. * i386.md (type attribute): New cld and str types. (length_opcode attribute): Set cld and str to 1. (memory attribute): Set str to unknown - it is not clear from the patterns. (pent_np function unit): Prefixed string operations takes 12 cycles minimally; cld takes 2 cycles. (ppro_uops attribute): Str is "many" and cld is "few". (ppro_p0 unit): Handle cld here. (k6_alux unit): Handle cld and str types. (k6_load unit): It is ocupied by str opcodes. (k6_store unit): It is ocupied by str opcodes. (athlon_decode): Str is vector decoded. (athlon_ieu): Handle str and cld. (cld pattern): New. (movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction (movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1, cmpstrsi_nz_1 insn): Do not output cld instruction From-SVN: r31326
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
etc | 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... | |
libio | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++ | Loading commit data... | |
texinfo | 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... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |