aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-10-17 00:04:20 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-10-16 22:04:20 +0000
commit44cf5b6a7186bed435ece527a40b8bcc4adb0998 (patch)
treea0319e5394119e2ee58b9dc6087f2cc800e7871b /gcc/expr.c
parentc0e5eb1602961b12e138911a6a61f0a84a3f42c2 (diff)
downloadgcc-44cf5b6a7186bed435ece527a40b8bcc4adb0998.zip
gcc-44cf5b6a7186bed435ece527a40b8bcc4adb0998.tar.gz
gcc-44cf5b6a7186bed435ece527a40b8bcc4adb0998.tar.bz2
i386.c (split_ti): New function.
* i386.c (split_ti): New function. (ix86_split_to_parts): Support TImodes. * i386.h (VALID_INT_MODE_P): Add TImode. * i386.md (movdi splitter): Fix. (movti): Support 64bit integer registers. (movti_rex64): New function and splitter. * i386.c (*_cost): Add movsx/movzx cost. * i386.h (struct processor_costs): Add movsx/movzx fields. (RTX_COSTS): Handle zero/sign extend + avoid believing that 64bit operations require split on 64bit machine. (CONST_COST): Make large 64bit constants expensive on 64bit compilation. * i386.c (ix86_setup_incomming_varargs): Fix mode of PLUS. (ix86_expand_move): Avoid pushes of memory if size does not match; move long constants to register. (x86_initialize_trampoline): Fix mode. * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use ASM_QUAD on 64bit. * i386.md (test pattern): Disallow impossible constants. (tablejump PIC expander): Fix emitting of sum. (movdicc_rex64): Rename to movdicc. * linux64.h (LINK_SPEC): Add missing '%'. From-SVN: r46296
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions