aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-gcc.cc
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@linux.ibm.com>2022-02-08 14:56:29 +0100
committerRobin Dapp <rdapp@linux.ibm.com>2022-02-08 15:28:53 +0100
commit1e3185e714e877b2b4d14ade0865322f71a8cbf6 (patch)
tree189545d046eac4085f79dd745f925d88ec4a9e61 /gcc/go/go-gcc.cc
parent38a177fa4c2fd1ce75581145b3b8f12592b4aacd (diff)
downloadgcc-1e3185e714e877b2b4d14ade0865322f71a8cbf6.zip
gcc-1e3185e714e877b2b4d14ade0865322f71a8cbf6.tar.gz
gcc-1e3185e714e877b2b4d14ade0865322f71a8cbf6.tar.bz2
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.
Diffstat (limited to 'gcc/go/go-gcc.cc')
0 files changed, 0 insertions, 0 deletions