diff options
author | Jeff Law <law@gcc.gnu.org> | 1996-08-14 10:34:30 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1996-08-14 10:34:30 -0600 |
commit | e38fd454ac27fd4c19572c3fc9f81fcc18d5a0c8 (patch) | |
tree | 8e2f0bcad477dd676b3f15862fda5cb62141a78c /gcc | |
parent | 06737be4a366c8ae7368666e457dfdedafbe48be (diff) | |
download | gcc-e38fd454ac27fd4c19572c3fc9f81fcc18d5a0c8.zip gcc-e38fd454ac27fd4c19572c3fc9f81fcc18d5a0c8.tar.gz gcc-e38fd454ac27fd4c19572c3fc9f81fcc18d5a0c8.tar.bz2 |
* pa/pa.h (OUTPUT_MI_THUNK): Define.
From-SVN: r12638
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 38c7dab..81ea53a 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1050,6 +1050,18 @@ extern enum cmp_type hppa_branch_type; fprintf (FILE, ",ARGW%d=FR", (ARG1));} while (0) #endif +#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \ +{ char *my_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (THUNK_FNDECL)); \ + char *target_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)); \ + output_function_prologue (FILE, 0); \ + if (VAL_14_BITS_P (DELTA)) \ + fprintf (FILE, "\tb %s\n\tldo %d(%%r26),%%r26\n", target_name, DELTA); \ + else \ + fprintf (FILE, "\taddil L%%%d,%r26\n\tb %s\n\tldo R%%%d(%%r1),%%r26\n", \ + DELTA, target_name, DELTA); \ + fprintf (FILE, "\n\t.EXIT\n\t.PROCEND\n"); \ +} + #define ASM_OUTPUT_FUNCTION_PREFIX(FILE, NAME) \ { \ char *name; \ |