[PATCH 2/2] rs6000: Make eh_set_lr_<mode> a define_insn_and_split

Segher Boessenkool segher@kernel.crashing.org
Tue May 14 17:23:00 GMT 2019


2019-05-14  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (eh_set_lr_<mode>): Merge with following
	define_split to become a define_insn_and_split.

---
 gcc/config/rs6000/rs6000.md | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index c3181e7..31fc90a 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -13099,16 +13099,11 @@ (define_expand "eh_return"
 })
 
 ; We can't expand this before we know where the link register is stored.
-(define_insn "eh_set_lr_<mode>"
-  [(unspec_volatile [(match_operand:P 0 "register_operand" "r")]
-  		    UNSPECV_EH_RR)
+(define_insn_and_split "eh_set_lr_<mode>"
+  [(unspec_volatile [(match_operand:P 0 "register_operand" "r")] UNSPECV_EH_RR)
    (clobber (match_scratch:P 1 "=&b"))]
   ""
-  "#")
-
-(define_split
-  [(unspec_volatile [(match_operand 0 "register_operand")] UNSPECV_EH_RR)
-   (clobber (match_scratch 1))]
+  "#"
   "reload_completed"
   [(const_int 0)]
 {
-- 
1.8.3.1



More information about the Gcc-patches mailing list