aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.cc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-12-21 11:13:42 +0100
committerJakub Jelinek <jakub@redhat.com>2023-12-21 11:13:42 +0100
commit3d1bdbf64c2ed5be70fbff687b2927e328297b81 (patch)
treea660ce9c28d8a96637db18d4f38cbc899d50ec16 /gcc/tree-vect-patterns.cc
parent297ed1ac5233f1a44a2e3a004c28924a32b2e290 (diff)
downloadgcc-3d1bdbf64c2ed5be70fbff687b2927e328297b81.zip
gcc-3d1bdbf64c2ed5be70fbff687b2927e328297b81.tar.gz
gcc-3d1bdbf64c2ed5be70fbff687b2927e328297b81.tar.bz2
lower-bitint: Avoid nested casts in muldiv/float operands [PR112941]
Multiplication/division/modulo/float operands are handled by libgcc calls and so need to be passed as array of limbs with precision argument, using handle_operand_addr. That code can't deal with more than one cast, so the following patch avoids merging those cases. .MUL_OVERFLOW calls use the same code, but we don't actually try to merge the operands in that case already. 2023-12-21 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/112941 * gimple-lower-bitint.cc (gimple_lower_bitint): Disallow merging a cast with multiplication, division or conversion to floating point if rhs1 of the cast is result of another single use cast in the same bb. * gcc.dg/bitint-56.c: New test. * gcc.dg/bitint-57.c: New test.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions