This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] S/390: Alignment peeling prolog generation
- From: Robin Dapp <rdapp at linux dot vnet dot ibm dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "Bin.Cheng" <amker dot cheng at gmail dot com>
- Date: Thu, 11 May 2017 13:15:52 +0200
- Subject: Re: [RFC] S/390: Alignment peeling prolog generation
- Authentication-results: sourceware.org; auth=none
- References: <0296a54f-cb8d-d9b8-380a-9cc553dbb6da@linux.vnet.ibm.com> <CAHFci282BedKpc99pxk1+PLHc7OxkE0bFZHRn1rsE9X+-ihuDQ@mail.gmail.com> <2804E9EF-67D1-4EFD-AF29-65C634EBE24F@gmail.com> <6f1194a0-9e57-0028-faf4-6190beec2009@linux.vnet.ibm.com> <CAFiYyc3e+UmtMGO7nEDeRT0PoTqZ2mGHz1V0C3k2WGsHGgECVg@mail.gmail.com> <3e575f6d-874a-b260-1fc2-f4db1250c32b@linux.vnet.ibm.com> <CAFiYyc0TuwUY1oqovVQF93GFPBg=qA7q4+jRFvPuhF2ayVWbHQ@mail.gmail.com> <cdd8384a-0aa6-80a9-bbea-28fdaa7379f7@linux.vnet.ibm.com> <CAFiYyc1LFtniQv9FNXJW7g8uByb8H_4vnrx52oS0kzBaKQedEw@mail.gmail.com>
Included the requested changes in the patches (to follow). I removed
the alignment count check now altogether.
> I'm not sure why you test for unlimited_cost_model here as I said
> elsewhere I'm not sure
> what not cost modeling means for static decisions. The purpose of
> unlimited_cost_model
> is to always vectorize when possible and omit the runtime
> profitability check. So for peeling
> I'd just always use the cost model. Thus please drop this check.
Without that, I get one additional FAIL gcc.dg/vect/slp-25.c for x86.
It is caused by choosing no peeling (inside costs 0) over peeling for
known alignment with unlimited cost model (inside costs 0 as well).
Costs 0 for no peeling are caused by count == 0 or rather ncopies = vf /
nunits == 4 / 8 == 0 in record_stmt_costs (). Shouldn't always hold
ncopies > 0? Even 0.5 would have worked here to make no peeling more
expensive than 0.
Test suite on s390x is clean.
Regards
Robin