Commit 13e58269 by Ulrich Weigand Committed by Ulrich Weigand

s390.c (pool_stop_uid, [...]): Delete.

	* config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
	check_and_change_labels, s390_final_chunkify): Delete.
	(s390_split_branches, s390_chunkify_pool): New functions.
	(s390_function_prologue): Call them.

	* config/s390/s390.h (S390_REL_MAX): Delete.
	(S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.

	* config/s390/s390.md (cjump, icjump, jump): Fix length
	attribute calculation.

From-SVN: r49797
parent 34d1b01d
2002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
check_and_change_labels, s390_final_chunkify): Delete.
(s390_split_branches, s390_chunkify_pool): New functions.
(s390_function_prologue): Call them.
* config/s390/s390.h (S390_REL_MAX): Delete.
(S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
* config/s390/s390.md (cjump, icjump, jump): Fix length
attribute calculation.
2002-02-15 David Edelsohn <edelsohn@gnu.org> 2002-02-15 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete. * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
......
...@@ -1330,9 +1330,8 @@ extern int s390_nr_constants; ...@@ -1330,9 +1330,8 @@ extern int s390_nr_constants;
/* Function is splitted in chunk, if literal pool could overflow /* Function is splitted in chunk, if literal pool could overflow
Value need to be lowered, if problems with displacement overflow. */ Value need to be lowered, if problems with displacement overflow. */
#define S390_REL_MAX 55000 #define S390_CHUNK_MAX 0xe00
#define S390_CHUNK_MAX 0x2000 #define S390_CHUNK_OV 0x1000
#define S390_CHUNK_OV 0x8000
#define S390_POOL_MAX 0xe00 #define S390_POOL_MAX 0xe00
#define ASM_OUTPUT_POOL_PROLOGUE(FILE, FUNNAME, fndecl, size) \ #define ASM_OUTPUT_POOL_PROLOGUE(FILE, FUNNAME, fndecl, size) \
......
...@@ -5660,15 +5660,21 @@ ...@@ -5660,15 +5660,21 @@
"" ""
"* "*
{ {
if (get_attr_length (insn) == 4 || !TARGET_64BIT) if (get_attr_length (insn) == 4)
return \"j%C1\\t%l0\"; return \"j%C1\\t%l0\";
else if (TARGET_64BIT)
return \"jg%C1\\t%l0\";
else else
return \"jg%C1\\t%l0\"; abort ();
}" }"
[(set_attr "op_type" "RI") [(set_attr "op_type" "RI")
(set (attr "length") (if_then_else (set (attr "length")
(lt (abs (minus (pc) (match_dup 0))) (const_int 60000)) (cond [(lt (abs (minus (pc) (match_dup 0))) (const_int 60000))
(const_int 4) (const_int 6)))]) (const_int 4)
(ne (symbol_ref "TARGET_64BIT") (const_int 0))
(const_int 6)
(eq (symbol_ref "flag_pic") (const_int 0))
(const_int 6)] (const_int 8)))])
(define_insn "*cjump_long" (define_insn "*cjump_long"
[(set (pc) [(set (pc)
...@@ -5703,15 +5709,21 @@ ...@@ -5703,15 +5709,21 @@
"" ""
"* "*
{ {
if (get_attr_length (insn) == 4 || !TARGET_64BIT) if (get_attr_length (insn) == 4)
return \"j%D1\\t%l0\"; return \"j%D1\\t%l0\";
else if (TARGET_64BIT)
return \"jg%D1\\t%l0\";
else else
return \"jg%D1\\t%l0\"; abort ();
}" }"
[(set_attr "op_type" "RI") [(set_attr "op_type" "RI")
(set (attr "length") (if_then_else (set (attr "length")
(lt (abs (minus (pc) (match_dup 0))) (const_int 60000)) (cond [(lt (abs (minus (pc) (match_dup 0))) (const_int 60000))
(const_int 4) (const_int 6)))]) (const_int 4)
(ne (symbol_ref "TARGET_64BIT") (const_int 0))
(const_int 6)
(eq (symbol_ref "flag_pic") (const_int 0))
(const_int 6)] (const_int 8)))])
(define_insn "*icjump_long" (define_insn "*icjump_long"
[(set (pc) [(set (pc)
...@@ -5794,15 +5806,21 @@ ...@@ -5794,15 +5806,21 @@
"" ""
"* "*
{ {
if (get_attr_length (insn) == 4 || !TARGET_64BIT) if (get_attr_length (insn) == 4)
return \"j\\t%l0\"; return \"j\\t%l0\";
else if (TARGET_64BIT)
return \"jg\\t%l0\";
else else
return \"jg\\t%l0\"; abort ();
}" }"
[(set_attr "op_type" "RI") [(set_attr "op_type" "RI")
(set (attr "length") (if_then_else (set (attr "length")
(lt (abs (minus (pc) (match_dup 0))) (const_int 60000)) (cond [(lt (abs (minus (pc) (match_dup 0))) (const_int 60000))
(const_int 4) (const_int 6)))]) (const_int 4)
(ne (symbol_ref "TARGET_64BIT") (const_int 0))
(const_int 6)
(eq (symbol_ref "flag_pic") (const_int 0))
(const_int 6)] (const_int 8)))])
; ;
; indirect-jump instruction pattern(s). ; indirect-jump instruction pattern(s).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment