On Fri, Jul 31, 2015 at 8:27 PM, Jeff Law <l...@redhat.com> wrote: > On 07/31/2015 12:18 PM, Michael Collison wrote: >> >> Hi Jeff, >> >> Yes I will create a test case. I'm not quite sure what to check for even >> in the machine dependent test case. It's quite possible for the >> instructions that are generated to change over time. > > I think we're going to want to look at the gimple IR and search for the > MIN/MAX expressions rather than the instructions. Given we don't know where > the transformation is going to land (yet), you can probably start with > -fdump-tree-optimized and scanning the .optimized dump.
Yeah. FWIW I'm ok with the specialized pattern in match.pd. Indeed phiopt isn't a good fit here (though on some targets you may end up seeing a PHI node, dependent on LOGICAL_OP_NON_SHORT_CIRCUIT). For longer chains I'd say reassoc is the appropriate place to handle this as it has already code to combine &&s and ||s of conditions. Maybe you can give it a short try to only handle it there. I'm also somewhat worried about code-generation on random targets. So can you have a quick look (just for your testcase) what the code-gen difference is on primary platforms (just build some stage1 cc1s)? Thanks, Richard. > We can still do that and have the test be target specific. > > jeff >