2019-07-01 Segher Boessenkool <seg...@kernel.crashing.org> * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized name. (eh_return): Use that name. Simplify.
--- gcc/config/rs6000/rs6000.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 381f140..881efe1 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -13184,15 +13184,12 @@ (define_expand "eh_return" [(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"))] "" -- 1.8.3.1