+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.
+
2019-07-01 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (indirect_jump<mode>_nospec): Make this a
(use (match_operand 1))] ; label
""
{
- if (TARGET_64BIT)
- {
- if (GET_MODE (operands[0]) != DImode)
- FAIL;
- emit_jump_insn (gen_ctrdi (operands[0], operands[1]));
- }
- else
- {
- if (GET_MODE (operands[0]) != SImode)
- FAIL;
- emit_jump_insn (gen_ctrsi (operands[0], operands[1]));
- }
+ if (GET_MODE (operands[0]) != Pmode)
+ FAIL;
+
+ emit_jump_insn (gen_ctr (Pmode, operands[0], operands[1]));
DONE;
})
-(define_expand "ctr<mode>"
+(define_expand "@ctr<mode>"
[(parallel [(set (pc)
(if_then_else (ne (match_operand:P 0 "register_operand")
(const_int 1))