diff options
author | Marcin Kościelnicki <koriakin@0x04.net> | 2016-02-15 11:48:28 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-02-15 11:48:28 +0000 |
commit | 7e2507a578d6c82e6bb1fb05353c61f7808cf47e (patch) | |
tree | 7e9bc612ceff0e1dff2029e7af8f56d8aa253c26 /gcc | |
parent | 4cb4721f9371ac318e33cbed99a66a029353e10a (diff) | |
download | gcc-7e2507a578d6c82e6bb1fb05353c61f7808cf47e.zip gcc-7e2507a578d6c82e6bb1fb05353c61f7808cf47e.tar.gz gcc-7e2507a578d6c82e6bb1fb05353c61f7808cf47e.tar.bz2 |
S/390: New mcount call sequence for z900+ CPUs in 31-bit mode.
gcc/ChangeLog:
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
* config/s390/s390.c (s390_function_profiler): Add a new sequence
for z900+ CPUs in 31-bit mode.
From-SVN: r233422
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cf178e7..45f7b6e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> + * config/s390/s390.c (s390_function_profiler): Add a new sequence + for z900+ CPUs in 31-bit mode. + +2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> + * common/config/s390/s390-common.c (s390_supports_split_stack): New function. (TARGET_SUPPORTS_SPLIT_STACK): New macro. diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index aa82d1c..b1ab0c0 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -12205,6 +12205,13 @@ s390_function_profiler (FILE *file, int labelno) output_asm_insn ("brasl\t%0,%4", op); output_asm_insn ("lg\t%0,%1", op); } + else if (TARGET_CPU_ZARCH) + { + output_asm_insn ("st\t%0,%1", op); + output_asm_insn ("larl\t%2,%3", op); + output_asm_insn ("brasl\t%0,%4", op); + output_asm_insn ("l\t%0,%1", op); + } else if (!flag_pic) { op[6] = gen_label_rtx (); |