mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 03:46:53 -05:00
builtins: Fix expand_builtin_prefetch [PR117407]
On Fri, Nov 01, 2024 at 04:47:35PM +0800, Haochen Jiang wrote:
> * builtins.cc (expand_builtin_prefetch): Use IN_RANGE to
> avoid second usage of INTVAL.
I doubt this has been actually tested.
> --- a/gcc/builtins.cc
> +++ b/gcc/builtins.cc
> @@ -1297,7 +1297,7 @@ expand_builtin_prefetch (tree exp)
> else
> op1 = expand_normal (arg1);
> /* Argument 1 must be 0, 1 or 2. */
> - if (INTVAL (op1) < 0 || INTVAL (op1) > 2)
> + if (IN_RANGE (INTVAL (op1), 0, 2))
> {
> warning (0, "invalid second argument to %<__builtin_prefetch%>;"
> " using zero");
> @@ -1315,7 +1315,7 @@ expand_builtin_prefetch (tree exp)
> else
> op2 = expand_normal (arg2);
> /* Argument 2 must be 0, 1, 2, or 3. */
> - if (INTVAL (op2) < 0 || INTVAL (op2) > 3)
> + if (IN_RANGE (INTVAL (op2), 0, 3))
> {
> warning (0, "invalid third argument to %<__builtin_prefetch%>; using zero");
> op2 = const0_rtx;
because it inverts the tests, previously it was warning when op1 wasn't
0, 1, 2, now it warns when it is 0, 1 or 2, previously it was warning
when op2 wasn't 0, 1, 2 or 3, now it warns when it is 0, 1, 2, or 3.
Fixed thusly.
2024-11-01 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/117407
* builtins.cc (expand_builtin_prefetch): Use !IN_RANGE rather
than IN_RANGE.
This commit is contained in:
committed by
Jakub Jelinek
parent
1a5bdeb112
commit
115ab8d7ad
@@ -1297,7 +1297,7 @@ expand_builtin_prefetch (tree exp)
|
||||
else
|
||||
op1 = expand_normal (arg1);
|
||||
/* Argument 1 must be 0, 1 or 2. */
|
||||
if (IN_RANGE (INTVAL (op1), 0, 2))
|
||||
if (!IN_RANGE (INTVAL (op1), 0, 2))
|
||||
{
|
||||
warning (0, "invalid second argument to %<__builtin_prefetch%>;"
|
||||
" using zero");
|
||||
@@ -1315,7 +1315,7 @@ expand_builtin_prefetch (tree exp)
|
||||
else
|
||||
op2 = expand_normal (arg2);
|
||||
/* Argument 2 must be 0, 1, 2, or 3. */
|
||||
if (IN_RANGE (INTVAL (op2), 0, 3))
|
||||
if (!IN_RANGE (INTVAL (op2), 0, 3))
|
||||
{
|
||||
warning (0, "invalid third argument to %<__builtin_prefetch%>; using zero");
|
||||
op2 = const0_rtx;
|
||||
|
||||
Reference in New Issue
Block a user