Commit 1e3185e7 authored by Robin Dapp's avatar Robin Dapp
Browse files

s390: Increase costs for load on condition and change movqicc expander.

This patch changes the costs for a load on condition from 5 to 6 in
order to ensure that we only if-convert two and not three or more SETS like

if (cond)
{
  a = b;
  c = d;
  e = f;
}

In the movqicc expander we emit a paradoxical subreg directly that
combine would otherwise try to create by using a non-optimal sequence
(which would be too expensive).

Also, fix two oversights in ifcvt testcases.

gcc/ChangeLog:

	* config/s390/s390.cc (s390_rtx_costs): Increase costs for load
	on condition.
	* config/s390/s390.md: Use paradoxical subreg.

gcc/testsuite/ChangeLog:

	* gcc.target/s390/ifcvt-two-insns-int.c: Fix array size.
	* gcc.target/s390/ifcvt-two-insns-long.c: Dito.
parent 38a177fa
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment