aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-linux.h
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2003-10-29 21:44:16 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2003-10-29 21:44:16 +0000
commitcb4d476cf4ea3b6889efa676d23f64efb81ecb1e (patch)
tree3f9b013a36f8c65c1295068d6f7270904d4bc863 /gcc/config/pa/pa-linux.h
parentc1aa3958b1832d2c728c6fc192ab78c3ea737c3b (diff)
downloadgcc-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.h4
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)