aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1992-05-27 14:57:09 -0700
committerJim Wilson <wilson@gcc.gnu.org>1992-05-27 14:57:09 -0700
commit55eb155c4de6a2f2b62c86c9a35e5bd85648a5be (patch)
treee0f8f6c618d13fcbac7058cc1ef23477c6fe6609
parent5e32e83b4ae051b174090daf4cfec035580b3027 (diff)
downloadgcc-55eb155c4de6a2f2b62c86c9a35e5bd85648a5be.zip
gcc-55eb155c4de6a2f2b62c86c9a35e5bd85648a5be.tar.gz
gcc-55eb155c4de6a2f2b62c86c9a35e5bd85648a5be.tar.bz2
entered into RCS
From-SVN: r1105
-rw-r--r--gcc/config/i960/i960.h6
-rw-r--r--gcc/config/i960/i960.md32
2 files changed, 22 insertions, 16 deletions
diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h
index 4d1bb42..86b0250 100644
--- a/gcc/config/i960/i960.h
+++ b/gcc/config/i960/i960.h
@@ -292,6 +292,12 @@ extern int target_flags;
flag_signed_char = 1; \
target_flags |= TARGET_FLAG_CLEAN_LINKAGE; \
} \
+ /* ??? Function inlining is not supported, because the i960 \
+ calling convention requires the caller to manage the arg \
+ pointer in a wierd fashion. This is ordinarily done by \
+ expand_call, but this is never called when inlining \
+ functions, and no replacement for it exists. */ \
+ flag_no_inline = 1; \
i960_initialize (); \
}
diff --git a/gcc/config/i960/i960.md b/gcc/config/i960/i960.md
index d587334..1adf36a 100644
--- a/gcc/config/i960/i960.md
+++ b/gcc/config/i960/i960.md
@@ -548,7 +548,7 @@
(define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d,d,d,m")
(match_operand:SI 1 "general_operand" "dI,i,m,dJ"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], SImode)
|| register_operand (operands[1], SImode)
|| operands[1] == const0_rtx)"
@@ -581,7 +581,7 @@
(define_insn ""
[(set (match_operand:SI 0 "general_operand" "=d,d,d,m")
(match_operand:SI 1 "general_operand" "dI,i,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], SImode)
|| register_operand (operands[1], SImode))"
"*
@@ -625,7 +625,7 @@
(define_insn ""
[(set (match_operand:HI 0 "general_operand" "=d,d,d,m")
(match_operand:HI 1 "general_operand" "dI,i,m,dJ"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode)
|| operands[1] == const0_rtx)"
@@ -659,7 +659,7 @@
(define_insn ""
[(set (match_operand:HI 0 "general_operand" "=d,d,d,m")
(match_operand:HI 1 "general_operand" "dI,i,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode))"
"*
@@ -700,7 +700,7 @@
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=d,d,d,m")
(match_operand:QI 1 "general_operand" "dI,i,m,dJ"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], QImode)
|| register_operand (operands[1], QImode)
|| operands[1] == const0_rtx)"
@@ -734,7 +734,7 @@
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=d,d,d,m")
(match_operand:QI 1 "general_operand" "dI,i,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], QImode)
|| register_operand (operands[1], QImode))"
"*
@@ -775,7 +775,7 @@
(define_insn ""
[(set (match_operand:DI 0 "general_operand" "=d,d,d,m")
(match_operand:DI 1 "general_operand" "dI,i,m,dJ"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], DImode)
|| register_operand (operands[1], DImode)
|| operands[1] == const0_rtx)"
@@ -801,7 +801,7 @@
(define_insn ""
[(set (match_operand:DI 0 "general_operand" "=d,d,d,m")
(match_operand:DI 1 "general_operand" "dI,i,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], DImode)
|| register_operand (operands[1], DImode))"
"*
@@ -834,7 +834,7 @@
(define_insn ""
[(set (match_operand:TI 0 "general_operand" "=d,d,d,m")
(match_operand:TI 1 "general_operand" "dI,i,m,dJ"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], TImode)
|| register_operand (operands[1], TImode)
|| operands[1] == const0_rtx)"
@@ -860,7 +860,7 @@
(define_insn ""
[(set (match_operand:TI 0 "general_operand" "=d,d,d,m")
(match_operand:TI 1 "general_operand" "dI,i,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], TImode)
|| register_operand (operands[1], TImode))"
"*
@@ -947,7 +947,7 @@
(define_insn ""
[(set (match_operand:DF 0 "general_operand" "=r,f,d,d,m")
(match_operand:DF 1 "fpmove_src_operand" "r,GH,F,m,dG"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode)
|| operands[1] == CONST0_RTX (DFmode))"
@@ -977,7 +977,7 @@
(define_insn ""
[(set (match_operand:DF 0 "general_operand" "=r,f,d,d,m")
(match_operand:DF 1 "fpmove_src_operand" "r,GH,F,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode))"
"*
@@ -1014,7 +1014,7 @@
(define_insn ""
[(set (match_operand:SF 0 "general_operand" "=r,f,d,d,m")
(match_operand:SF 1 "fpmove_src_operand" "r,GH,F,m,dG"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], SFmode)
|| register_operand (operands[1], SFmode)
|| operands[1] == CONST0_RTX (SFmode))"
@@ -1044,7 +1044,7 @@
(define_insn ""
[(set (match_operand:SF 0 "general_operand" "=r,f,d,d,m")
(match_operand:SF 1 "fpmove_src_operand" "r,GH,F,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], SFmode)
|| register_operand (operands[1], SFmode))"
"*
@@ -1858,7 +1858,7 @@
(define_insn ""
[(set (match_operand:TF 0 "general_operand" "=r,f,d,d,m")
(match_operand:TF 1 "fpmove_src_operand" "r,GH,F,m,dG"))]
- "current_function_args_size <= 48
+ "current_function_args_size == 0
&& (register_operand (operands[0], TFmode)
|| register_operand (operands[1], TFmode)
|| operands[1] == CONST0_RTX (TFmode))"
@@ -1888,7 +1888,7 @@
(define_insn ""
[(set (match_operand:TF 0 "general_operand" "=r,f,d,d,m")
(match_operand:TF 1 "fpmove_src_operand" "r,GH,F,m,d"))]
- "current_function_args_size > 48
+ "current_function_args_size != 0
&& (register_operand (operands[0], TFmode)
|| register_operand (operands[1], TFmode))"
"*