Commit 29742ba4 by Hartmut Penner Committed by Hartmut Penner

s390.md (literal_pool_64, [...]): New insns.

 	* config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
	insns.
	* config/s390/s390.c (struct machine_function): Introduction of
	struct machine_function.
	* config/s390/s390-protos.h (s390_output_constant_pool): Changed
	prototype.

From-SVN: r59515
parent f4111593
2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
* config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
insns.
* config/s390/s390.c (struct machine_function): Introduction of
struct machine_function.
* config/s390/s390-protos.h (s390_output_constant_pool): Changed
prototype.
2002-11-26 Jakub Jelinek <jakub@redhat.com>
* varasm.c (output_constant_pool): For pool constants in mergeable
......
......@@ -70,7 +70,7 @@ extern rtx s390_return_addr_rtx PARAMS ((int, rtx));
extern void s390_output_symbolic_const PARAMS ((FILE *, rtx));
extern void print_operand_address PARAMS ((FILE *, rtx));
extern void print_operand PARAMS ((FILE *, rtx, int));
extern void s390_output_constant_pool PARAMS ((FILE *));
extern void s390_output_constant_pool PARAMS ((rtx, rtx));
extern void s390_trampoline_template PARAMS ((FILE *));
extern void s390_initialize_trampoline PARAMS ((rtx, rtx, rtx));
extern rtx s390_gen_rtx_const_DI PARAMS ((int, int));
......
......@@ -6814,17 +6814,36 @@
(set_attr "type" "jsr")
(set_attr "atype" "mem")])
(define_insn "lit"
[(set (reg 13) (pc))
(unspec_volatile [(const_int 0)] 200)]
(define_insn "literal_pool_31"
[(unspec_volatile [(const_int 0)] 300)
(set (match_operand:SI 0 "register_operand" "=a")
(label_ref (match_operand 1 "" "")))
(use (label_ref (match_operand 2 "" "")))]
""
"*
{
s390_output_constant_pool (asm_out_file);
return \"\";
if (s390_nr_constants) {
output_asm_insn (\"bras\\t%0,%2\", operands);
s390_output_constant_pool (operands[1], operands[2]);
}
return \"\";
}"
[(set_attr "op_type" "NN")
(set_attr "length" "6")
(set_attr "type" "integer")])
(set_attr "type" "la")])
(define_insn "literal_pool_64"
[(unspec_volatile [(const_int 0)] 300)
(set (match_operand:DI 0 "register_operand" "=a")
(label_ref (match_operand 1 "" "")))
(use (label_ref (match_operand 2 "" "")))]
""
"*
{
if (s390_nr_constants) {
output_asm_insn (\"larl\\t%0,%1\", operands);
s390_output_constant_pool (operands[1], operands[2]);
}
return \"\";
}"
[(set_attr "op_type" "NN")
(set_attr "type" "la")])
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