Re: [PATCH] phiopt: Fix up conditional_replacement [PR99305]

2021-03-10 Thread David Edelsohn via Gcc-patches
The new pr99305.C testcase is failing on Power. FAIL: g++.dg/opt/pr99305.C -std=gnu++14 scan-tree-dump-times optimized " = (unsigned char) c_[0-9]*(D);" 3 FAIL: g++.dg/opt/pr99305.C -std=gnu++17 scan-tree-dump-times optimized " = (unsigned char) c_[0-9]*(D);" 3

Re: [PATCH] phiopt: Fix up conditional_replacement [PR99305]

2021-03-09 Thread Jeff Law via Gcc-patches
On 3/9/21 8:40 AM, Jakub Jelinek via Gcc-patches wrote: > Hi! > > Before my PR97690 changes, conditional_replacement would not set neg > when the nonzero arg was boolean true. > I've simplified the testing, so that it first finds the zero argument > and then checks the other argument for all the

Re: [PATCH] phiopt: Fix up conditional_replacement [PR99305]

2021-03-09 Thread Richard Biener
On March 9, 2021 4:40:22 PM GMT+01:00, Jakub Jelinek wrote: >Hi! > >Before my PR97690 changes, conditional_replacement would not set neg >when the nonzero arg was boolean true. >I've simplified the testing, so that it first finds the zero argument >and then checks the other argument for all the ha

[PATCH] phiopt: Fix up conditional_replacement [PR99305]

2021-03-09 Thread Jakub Jelinek via Gcc-patches
Hi! Before my PR97690 changes, conditional_replacement would not set neg when the nonzero arg was boolean true. I've simplified the testing, so that it first finds the zero argument and then checks the other argument for all the handled cases (1, -1 and 1 << X, where the last case is what the patc