diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-31 23:34:17 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-31 23:34:17 +0000 |
commit | 22aae821f1bd7cf1e36660ea0e773bea55dc71ad (patch) | |
tree | 138fc4b6ba88f9caad65f412fbe421e92fc1dcf1 /gcc/config/ia64/ia64.h | |
parent | e3e9468ba1c8d610067676f518ea087ffd6b3a88 (diff) | |
download | gcc-22aae821f1bd7cf1e36660ea0e773bea55dc71ad.tar.gz |
* loop.c (emit_prefetch_instructions): Do conversion at right place in
RTL chain.
* combine.c (simplify_set): Reverse order of ragumetns to
REG_CANNOT_CHANGE_MODE_P
* df.c (df_def_record_1): Likewise.
* recog.c (register_operand): Likewise.
* simplify-rtx.c (simplify_subreg): Likewise.
* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
CANNOT_CHANGE_MODE_CLASS.
* regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
Likewise.
* reload.c (push_reload): Likewise.
* alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* mips-protos.h (mips_cannot_change_mode_class): Update prototype.
* mips.c (mips_cannot_change_mode_class): Update.
* pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
* sh-protos.h (sh_cannot_change_mode_class): Update prototype.
* sh.c (sh_cannot_change_mode_class): Update.
* i386.h (CANNOT_CHANGE_MODE_CLASS): New.
* tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62212 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64/ia64.h')
-rw-r--r-- | gcc/config/ia64/ia64.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 3e1f295d73e..835c93faeab 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -1036,8 +1036,9 @@ enum reg_class /* In FP regs, we can't change FP values to integer values and vice versa, but we can change e.g. DImode to SImode. */ -#define CANNOT_CHANGE_MODE_CLASS(FROM, TO) \ - (GET_MODE_CLASS (FROM) != GET_MODE_CLASS (TO) ? FR_REGS : NO_REGS) +#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \ + (GET_MODE_CLASS (FROM) != GET_MODE_CLASS (TO) \ + ? reg_classes_intersect_p (CLASS, FR_REGS) : 0) /* A C expression that defines the machine-dependent operand constraint letters (`I', `J', `K', .. 'P') that specify particular ranges of |