[PATCH] c: Implement C23 nullptr (N3042)

2022-08-13 Thread Marek Polacek via Gcc-patches
This patch implements the C23 nullptr literal: , which is intended to replace the problematic definition of NULL which might be either of integer type or void*. Since C++ has had nullptr for over a decade now, it was relatively easy to

[committed] testsuite: Disable out-of-bounds checker in analyzer/torture/pr93451.c

2022-08-13 Thread Tim Lange
This patch disables Wanalyzer-out-of-bounds for analyzer/torture/pr93451.c and makes the test case pass when compiled with -m32. The emitted warning is a true positive but only occurs if sizeof (long int) is less than sizeof (double). I've already discussed a similar case with Dave in the context

[PATCH] Add pattern to convert vector shift + bitwise and + multiply to vector compare in some cases.

2022-08-13 Thread mtsamis
When using SWAR (SIMD in a register) techniques a comparison operation within such a register can be made by using a combination of shifts, bitwise and and multiplication. If code using this scheme is vectorized then there is potential to replace all these operations with a single vector

Re: [x86 PATCH take #2] Move V1TI shift/rotate lowering from expand to pre-reload split.

2022-08-13 Thread Uros Bizjak via Gcc-patches
On Fri, Aug 12, 2022 at 11:24 PM Roger Sayle wrote: > > > Hi Uros, > As requested, here's an updated version of my patch that introduces a new > const_0_to_255_not_mul_8_operand as you've requested. I think in this > instance, having mutually exclusive patterns that can appear in any order, >