diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-28 19:50:22 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-28 19:50:22 +0000 |
commit | de4e153694cdb735218e205f032d5da4d2c01086 (patch) | |
tree | 70d2e68d80216da241ce498d231faa1593ba57a9 /gcc/optabs.c | |
parent | 68aee03361a355ed69c3829545f7039db3e12a39 (diff) |
gcc/
* target-insns.def (indirect_jump): New targetm instruction pattern.
* optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226321 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 0719ba2c558..c27e244beb0 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -4484,16 +4484,15 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison, /* Generate code to indirectly jump to a location given in the rtx LOC. */ void -emit_indirect_jump (rtx loc ATTRIBUTE_UNUSED) +emit_indirect_jump (rtx loc) { -#ifndef HAVE_indirect_jump - sorry ("indirect jumps are not available on this target"); -#else + if (!targetm.have_indirect_jump ()) + sorry ("indirect jumps are not available on this target"); + struct expand_operand ops[1]; create_address_operand (&ops[0], loc); - expand_jump_insn (CODE_FOR_indirect_jump, 1, ops); + expand_jump_insn (targetm.code_for_indirect_jump, 1, ops); emit_barrier (); -#endif } |