rs6000.md (eh_set_lr_<mode>): Make this a parameterized name.
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 1 Jul 2019 18:39:52 +0000 (20:39 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 1 Jul 2019 18:39:52 +0000 (20:39 +0200)
@eh_set_lr_<mode>

* config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized
name.
(eh_return): Use that name.  Simplify.

From-SVN: r272900

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 5da03c3..63af1c8 100644 (file)
@@ -1,5 +1,11 @@
 2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
 
+       * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized
+       name.
+       (eh_return): Use that name.  Simplify.
+
+2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
        * config/rs6000/rs6000.md (ctr<mode>): Make this a parameterized name.
        (doloop_end): Use that name.  Simplify.
 
index 56f5350..6470d95 100644 (file)
   [(use (match_operand 0 "general_operand"))]
   ""
 {
-  if (TARGET_32BIT)
-    emit_insn (gen_eh_set_lr_si (operands[0]));
-  else
-    emit_insn (gen_eh_set_lr_di (operands[0]));
+  emit_insn (gen_eh_set_lr (Pmode, operands[0]));
   DONE;
 })
 
 ; We can't expand this before we know where the link register is stored.
-(define_insn_and_split "eh_set_lr_<mode>"
+(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"))]
   ""