aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/ast/rust-pattern.h
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2023-10-18 09:33:30 +0100
committerTamar Christina <tamar.christina@arm.com>2023-10-18 09:53:47 +0100
commitb0fe8f2f960d746e61debd61655f231f503bccaa (patch)
treeaa9dcd1d435b37c2d27ff4f3f8afc263e5842420 /gcc/rust/ast/rust-pattern.h
parent4b39aeef594f311e2c1715f15608f1d7ebc2d868 (diff)
downloadgcc-b0fe8f2f960d746e61debd61655f231f503bccaa.zip
gcc-b0fe8f2f960d746e61debd61655f231f503bccaa.tar.gz
gcc-b0fe8f2f960d746e61debd61655f231f503bccaa.tar.bz2
middle-end: ifcvt: Allow any const IFN in conditional blocks
When ifcvt was initially added masking was not a thing and as such it was rather conservative in what it supported. For builtins it only allowed C99 builtin functions which it knew it can fold away. These days the vectorizer is able to deal with needing to mask IFNs itself. vectorizable_call is able vectorize the IFN by emitting a VEC_PERM_EXPR after the operation to emulate the masking. This is then used by match.pd to conver the IFN into a masked variant if it's available. For these reasons the restriction in ifconvert is no longer require and we needless block vectorization when we can effectively handle the operations. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Note: This patch is part of a testseries and tests for it are added in the AArch64 patch that adds supports for the optab. gcc/ChangeLog: PR tree-optimization/109154 * tree-if-conv.cc (if_convertible_stmt_p): Allow any const IFN.
Diffstat (limited to 'gcc/rust/ast/rust-pattern.h')
0 files changed, 0 insertions, 0 deletions