diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2003-10-29 21:44:16 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2003-10-29 21:44:16 +0000 |
commit | cb4d476cf4ea3b6889efa676d23f64efb81ecb1e (patch) | |
tree | 3f9b013a36f8c65c1295068d6f7270904d4bc863 /gcc/config/pa/pa-linux.h | |
parent | c1aa3958b1832d2c728c6fc192ab78c3ea737c3b (diff) | |
download | gcc-cb4d476cf4ea3b6889efa676d23f64efb81ecb1e.zip gcc-cb4d476cf4ea3b6889efa676d23f64efb81ecb1e.tar.gz gcc-cb4d476cf4ea3b6889efa676d23f64efb81ecb1e.tar.bz2 |
pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
* pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
(ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
* pa.c (pa_adjust_insn_length): Check for btable branches using
attribute TYPE_BTABLE_BRANCH.
(pa_reorg): Simplify.
* pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
(ASM_OUTPUT_ADDR_VEC_ELT): As above.
(ASM_OUTPUT_ADDR_DIFF_ELT): As above.
* pa.md (btable_branch): New instruction type.
(in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
btable branches.
(define_delay): Add btable branches to insn types that may have an
insn in the delay position.
(Z2, Z3): Add btable branch to list.
Simplify unamed pattern set copy pic_label_operand to register. Add
PA 2.0 variant.
(short_jump): New jump for use in branch tables.
(casesi, casesi0): Revise for new branch table formats.
(casesi32, casesi32p, casesi64p): New casesi patterns.
(indirect_jump): Move.
From-SVN: r73064
Diffstat (limited to 'gcc/config/pa/pa-linux.h')
-rw-r--r-- | gcc/config/pa/pa-linux.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index 027c946..2a714e3 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -121,14 +121,14 @@ Boston, MA 02111-1307, USA. */ #undef ASM_OUTPUT_ADDR_VEC_ELT #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ if (TARGET_BIG_SWITCH) \ - fprintf (FILE, "\tstw %%r1,-16(%%r30)\n\tldil LR'.L%d,%%r1\n\tbe RR'.L%d(%%sr4,%%r1)\n\tldw -16(%%r30),%%r1\n", VALUE, VALUE); \ + fprintf (FILE, "\t.word .L%d\n", VALUE); \ else \ fprintf (FILE, "\tb .L%d\n\tnop\n", VALUE) #undef ASM_OUTPUT_ADDR_DIFF_ELT #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ if (TARGET_BIG_SWITCH) \ - fprintf (FILE, "\tstw %%r1,-16(%%r30)\n\tldw T'.L%d(%%r19),%%r1\n\tbv %%r0(%%r1)\n\tldw -16(%%r30),%%r1\n", VALUE); \ + fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL); \ else \ fprintf (FILE, "\tb .L%d\n\tnop\n", VALUE) |