[arm] Fix insn type of *thumb1_tablejump

Richard Sandiford richard.sandiford@arm.com
Tue Sep 17 14:53:00 GMT 2019


*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.sandiford@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"



More information about the Gcc-patches mailing list