Skip to content
Snippets Groups Projects
Commit f031c344 authored by Oleg Endo's avatar Oleg Endo
Browse files

re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

	PR target/51244
	* config/sh/predicates.md (t_reg_operand, negt_reg_operand): New
	predicates.
	* config/sh/sh-protos.h (get_t_reg_rtx): New prototype.
	* config/sh/sh.c (get_t_reg_rtx): New function.  Use it when invoking
	gen_branch_true and gen_branch_false.
	* config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and
	gen_branch_false.
	(branch_true, branch_false): Use t_reg_operand predicate.
	(*branch_true, *branch_false): Delete.
	(movt): Use t_reg_operand predicate.
	(*negnegt): Use negt_reg_operand predicate and fold little and big
	endian variants.
	(*movtt): Use t_reg_operand and fold little and big endian variants.
	(*movt_qi): Delete.

	PR target/51244
	* gcc.target/sh/pr51244-1.c: Check that movt insn is not generated.

From-SVN: r189177
parent 73a15695
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment