aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-05-20 17:23:18 +0000
committerRichard Stallman <rms@gnu.org>1992-05-20 17:23:18 +0000
commit09a1d02802daa8b6af99ad44b065ee7643e17bef (patch)
tree1c04e55485305c17ed570c516295925097bc4fdb
parent53a66787c2365e213ecbe13a310ddf5292aafc55 (diff)
downloadgcc-09a1d02802daa8b6af99ad44b065ee7643e17bef.zip
gcc-09a1d02802daa8b6af99ad44b065ee7643e17bef.tar.gz
gcc-09a1d02802daa8b6af99ad44b065ee7643e17bef.tar.bz2
*** empty log message ***
From-SVN: r1029
-rw-r--r--gcc/config/pa/pa.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 036bb72..50d4818 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -749,7 +749,7 @@ HP9000/800 immediate field sizes:
/* Arguments larger than eight bytes are passed by invisible reference */
#define FUNCTION_ARG_PASS_BY_REFERENCE(CUM, MODE, TYPE, NAMED) \
- ((TYPE) ? int_size_in_bytes (TYPE) > 8 : GET_MODE_SIZE (MODE) > 8)
+ ((TYPE) && int_size_in_bytes (TYPE) > 8)
extern struct rtx_def *hppa_compare_op0, *hppa_compare_op1;
extern enum cmp_type hppa_branch_type;
@@ -1317,8 +1317,12 @@ while (0)
/* Compute extra cost of moving data between one register class
and another. */
#define REGISTER_MOVE_COST(CLASS1, CLASS2) \
- (((CLASS1 == FP_REGS && CLASS2 == GENERAL_REGS) \
- || (CLASS1 == GENERAL_REGS && CLASS2 == FP_REGS)) ? 6 : 2)
+ ((((CLASS1 == FP_REGS || CLASS1 == SNAKE_FP_REGS \
+ || CLASS1 == HI_SNAKE_FP_REGS) \
+ && (CLASS2 == R1_REGS | CLASS2 == GENERAL_REGS)) \
+ || ((CLASS2 == R1_REGS | CLASS1 == GENERAL_REGS) \
+ && (CLASS2 == FP_REGS || CLASS2 == SNAKE_FP_REGS \
+ || CLASS2 == HI_SNAKE_FP_REGS))) ? 6 : 2)
/* Provide the costs of a rtl expression. This is in the body of a
switch on CODE. The purpose for the cost of MULT is to encourage
@@ -1634,13 +1638,16 @@ do { fprintf (FILE, "\t.SPACE $PRIVATE$\n\
output_operand (XEXP (addr, 0), 0); \
fputs (")", FILE); \
break; \
+ case CONST_INT: \
+ fprintf (FILE, "%d(0,0)", INTVAL (addr)); \
+ break; \
default: \
output_addr_const (FILE, addr); \
}}
#define SMALL_INT(OP) INT_14_BITS (OP)
-/* Define functions in hppa.c and used in insn-output.c. */
+/* Define functions in pa.c and used in insn-output.c. */
extern char *output_move_double ();
extern char *output_fp_move_double ();