Re: [RFC] If conversion min/max search, costs and problems

2017-07-26 Thread Robin Dapp
> Do you have an example where wrong code is generated through the > noce_convert_multiple_sets_p path (with or without bodged costs)? > > Both AArch64 and x86-64 reject your testcase along this codepath because > of the constant set of 1. If we work around that by setting bla = n rather > than bl

Re: [RFC] If conversion min/max search, costs and problems

2017-07-25 Thread James Greenhalgh
On Tue, Jul 25, 2017 at 11:25:25AM +0200, Robin Dapp wrote: > Some questions/remarks, comments welcome: > - ifcvt performs creates things that it expects other passes to clean > up afterwards. In the case of the superfluous compares this might be > possible but the code is actually wrong and we c

[RFC] If conversion min/max search, costs and problems

2017-07-25 Thread Robin Dapp
Hi, recently I wondered why a snippet like the following is not being if-converted at all on s390: int foo (int *a, unsigned int n) { int min = 99; int bla = 0; for (int i = 0; i < n; i++) { if (a[i] < min) { min = a[i]; bla = 1; } }