On Sun, Nov 5, 2023 at 9:13 AM Cassio Neri <cassio.n...@gmail.com> wrote:
>
> I could not find any entry in gcc's bugzilla for that. Perhaps my search 
> wasn't good enough.

I filed https://gcc.gnu.org/PR112395 with a first attempt at the patch
(will double check it soon).

Thanks,
Andrew

>
>
> On Sun, 5 Nov 2023 at 15:58, Marc Glisse <marc.gli...@inria.fr> wrote:
>>
>> On Sun, 5 Nov 2023, Cassio Neri wrote:
>>
>> > When year_month_day_last::day() was implemented, Dr. Matthias Kretz 
>> > realised
>> > that the operation "& 1" wasn't necessary but we did not patch it at that
>> > time. This patch removes the unnecessary operation.
>>
>> Is there an entry in gcc's bugzilla about having the optimizer handle this
>> kind of optimization?
>>
>> unsigned f(unsigned x){
>>    if(x>=32)__builtin_unreachable();
>>    return 30|(x&1); // --> 30|x
>> }
>>
>> (that optimization would come in addition to your patch, doing the
>> optimization by hand is still a good idea)
>>
>> It looks like the criterion would be a|(b&c) when the possible 1 bits of b
>> are included in the certainly 1 bits of a|c.
>>
>> --
>> Marc Glisse

Reply via email to