summaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-protos.h
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-09 18:02:08 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-09 18:02:08 +0000
commit7050ff73578669785fb35072459803d2ecadc11d (patch)
tree6c03efab36b85bc299f7ba354cfa23f643d60a6a /gcc/config/pa/pa-protos.h
parent1c79cc8c0c30803e49c4de328c802c118145d3e0 (diff)
downloadgcc-7050ff73578669785fb35072459803d2ecadc11d.tar.gz
PR middle-end/32889
PR target/34091 * pa.md: Consolidate HImode and QImode move patterns into one pattern each, eliminating floating-point alternatives. * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p): Declare functions. * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here. * pa.c (pa_secondary_reload): Use an intermediate general register for copies to/from floating-point register classes. Simplify code SHIFT_REGS class. Provide additional comments. (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions. * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p. (SECONDARY_MEMORY_NEEDED): Delete define. (INT14_OK_STRICT): Define. (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using soft float. (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise. (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for SFmode and DFmode. (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection. Align DImode offsets when generating 64-bit code. * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define. * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130725 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pa/pa-protos.h')
-rw-r--r--gcc/config/pa/pa-protos.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index ff621a30733..7fc9dcad40f 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -172,6 +172,9 @@ extern void pa_asm_output_aligned_local (FILE *, const char *,
unsigned HOST_WIDE_INT,
unsigned int);
extern void pa_hpux_asm_output_external (FILE *, tree, const char *);
+extern bool pa_cannot_change_mode_class (enum machine_mode, enum machine_mode,
+ enum reg_class);
+extern bool pa_modes_tieable_p (enum machine_mode, enum machine_mode);
extern const int magic_milli[];
extern int shadd_constant_p (int);