aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2023-06-07 07:58:50 -0700
committerAndrew Pinski <apinski@marvell.com>2023-06-09 07:09:15 -0700
commit7ceed7e3e29c3375e3b8c4347d1985a72bbe7f11 (patch)
treee83fd55d965b5ba5094dbb040b22bc852fb4b724 /gcc/tree-vectorizer.h
parent72e652f3425079259faa4edefe1dc571f72f91e0 (diff)
downloadgcc-7ceed7e3e29c3375e3b8c4347d1985a72bbe7f11.zip
gcc-7ceed7e3e29c3375e3b8c4347d1985a72bbe7f11.tar.gz
gcc-7ceed7e3e29c3375e3b8c4347d1985a72bbe7f11.tar.bz2
MATCH: Allow unsigned types for `X & -Y -> X * Y` pattern
This allows unsigned types if the inner type where the negation is located has greater than or equal to precision than the outer type. branchless-cond.c needs to be updated since now we change it to use a multiply rather than still having (-a)&c in there. OK? Bootstrapped and tested on x86_64-linux-gnu. gcc/ChangeLog: * match.pd (`X & -Y -> X * Y`): Allow for truncation and the same type for unsigned types. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/branchless-cond.c: Update testcase.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions