On 17/09/2019 15:53, Richard Sandiford wrote:
*thumb1_tablejump had type "no_insn", which doesn't seems to correspond
to its documented use:

   an insn which does not represent an instruction in the final output,
   thus having no impact on scheduling.

Indirect jumps use the same instruction and have type "branch",
so the patch uses "branch" here too.

Tested on armeb-none-eabi.  OK to install?

Richard


2019-09-17  Richard Sandiford  <richard.sandif...@arm.com>

gcc/
        * config/arm/thumb1.md (*thumb1_tablejump): Change type from
        "no_insn" to "branch".

Index: gcc/config/arm/thumb1.md
===================================================================
--- gcc/config/arm/thumb1.md    2019-07-01 09:37:07.224524452 +0100
+++ gcc/config/arm/thumb1.md    2019-09-17 15:52:16.454952314 +0100
@@ -1944,7 +1944,7 @@ (define_insn "*thumb1_tablejump"
    "TARGET_THUMB1"
    "mov\\t%|pc, %0"
    [(set_attr "length" "2")
-   (set_attr "type" "no_insn")]
+   (set_attr "type" "branch")]
  )
(define_insn_and_split "thumb_eh_return"


Ok.

It probably makes no real difference to scheduling though as branch instructions end a basic block.

R.

Reply via email to