old-cross-binutils/gold/testsuite/split_s390_1_z3.s
Marcin Kościelnicki 2b63aca39c gold: Add s390 -fsplit-stack support.
gold/ChangeLog:

	* s390.cc (Target_s390::match_view_u): New helper method.
	(Target_s390::do_is_call_to_non_split): New method.
	(Target_s390::ss_code_st_r14): New const.
	(Target_s390::ss_code_l_r14): New const.
	(Target_s390::ss_code_bras_8): New const.
	(Target_s390::ss_code_l_basr): New const.
	(Target_s390::ss_code_a_basr): New const.
	(Target_s390::ss_code_ear): New const.
	(Target_s390::ss_code_c): New const.
	(Target_s390::ss_code_larl): New const.
	(Target_s390::ss_code_brasl): New const.
	(Target_s390::ss_code_jg): New const.
	(Target_s390::ss_code_jgl): New const.
	(Target_s390::ss_match_mcount): New helper method.
	(Target_s390::ss_match_l): New helper method.
	(Target_s390::ss_match_ahi): New helper method.
	(Target_s390::ss_match_alfi): New helper method.
	(Target_s390::ss_match_cr): New helper method.
	(Target_s390::do_calls_non_split): New method.
	* testsuite/Makefile.am: Added new tests.
	* testsuite/split_s390.sh: New test.
	* testsuite/split_s390_1_a1.s: New test.
	* testsuite/split_s390_1_a2.s: New test.
	* testsuite/split_s390_1_n1.s: New test.
	* testsuite/split_s390_1_n2.s: New test.
	* testsuite/split_s390_1_z1.s: New test.
	* testsuite/split_s390_1_z2.s: New test.
	* testsuite/split_s390_1_z3.s: New test.
	* testsuite/split_s390_1_z4.s: New test.
	* testsuite/split_s390_2_ns.s: New test.
	* testsuite/split_s390_2_s.s: New test.
	* testsuite/split_s390x_1_a1.s: New test.
	* testsuite/split_s390x_1_a2.s: New test.
	* testsuite/split_s390x_1_n1.s: New test.
	* testsuite/split_s390x_1_n2.s: New test.
	* testsuite/split_s390x_1_z1.s: New test.
	* testsuite/split_s390x_1_z2.s: New test.
	* testsuite/split_s390x_1_z3.s: New test.
	* testsuite/split_s390x_1_z4.s: New test.
	* testsuite/split_s390x_2_ns.s: New test.
	* testsuite/split_s390x_2_s.s: New test.
2016-02-15 11:59:25 +01:00

41 lines
753 B
ArmAsm

# split_s390_z3.s: s390 specific test case for -fsplit-stack -
# zarch mode, conditional call, ahi.
.text
.global fn1
.type fn1,@function
fn1:
.cfi_startproc
ear %r1, %a0
l %r1, 0x20(%r1)
ahi %r1, 0x1000
cr %r15, %r1
larl %r1, .L1
jgl __morestack
.section .rodata
.align 4
.L1:
.long 0x1000
.long 0
.long .L2-.L1
.previous
.L2:
stm %r13, %r15, 0x34(%r15)
.cfi_offset %r13, -0x2c
.cfi_offset %r14, -0x28
.cfi_offset %r15, -0x24
ahi %r15, -0x60
.cfi_adjust_cfa_offset 0x60
brasl %r14, fn2
lm %r13, %r15, 0x94(%r15)
.cfi_restore %r13
.cfi_restore %r14
.cfi_restore %r15
.cfi_adjust_cfa_offset -0x60
br %r14
.cfi_endproc
.size fn1,. - fn1
.section .note.GNU-stack,"",@progbits
.section .note.GNU-split-stack,"",@progbits