public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x
@ 2022-07-11 10:28 marxin at gcc dot gnu.org
2022-07-11 10:29 ` [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032 marxin at gcc dot gnu.org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-07-11 10:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
Bug ID: 106253
Summary: [13 Regression] ICE in vect_transform_loops, at
tree-vectorizer.cc:1032x
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-linux-gnu
Target: aarch64-linux-gnu
Created attachment 53286
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53286&action=edit
Reduced test-case
The following crashes (reduced from polyhedron/rnflow):
$ aarch64-linux-gnu-gcc rnflow.f90 -O3 -c
during GIMPLE pass: vect
rnflow.f90:33:24:
33 | end program rnflow
| ^
internal compiler error: in vect_transform_loops, at tree-vectorizer.cc:1032
0x7028cc vect_transform_loops
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1032
0xf9e433 try_vectorize_loop_1
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1153
0xf9e433 try_vectorize_loop
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1183
0xf9e964 execute
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1299
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
@ 2022-07-11 10:29 ` marxin at gcc dot gnu.org
2022-07-11 11:11 ` rguenth at gcc dot gnu.org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-07-11 10:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2022-07-11
Target Milestone|--- |13.0
Status|UNCONFIRMED |NEW
Summary|[13 Regression] ICE in |[13 Regression] ICE in
|vect_transform_loops, at |vect_transform_loops, at
|tree-vectorizer.cc:1032x |tree-vectorizer.cc:1032
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
2022-07-11 10:29 ` [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032 marxin at gcc dot gnu.org
@ 2022-07-11 11:11 ` rguenth at gcc dot gnu.org
2022-07-11 12:20 ` [Bug target/106253] " rguenth at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-11 11:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
2022-07-11 10:29 ` [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032 marxin at gcc dot gnu.org
2022-07-11 11:11 ` rguenth at gcc dot gnu.org
@ 2022-07-11 12:20 ` rguenth at gcc dot gnu.org
2022-07-11 12:21 ` rguenth at gcc dot gnu.org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-11 12:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |NEW
Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot gnu.org
Component|tree-optimization |target
CC| |rsandifo at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
# .MEM = VDEF <.MEM>
vect__19.49_45 = __builtin_aarch64_lroundv4sfv4si (vect__18.48_44);
aarch64 lround vectorized builtin does not have the same guarantees
as the builtin.def one. It's good that those cases are now uncovered
(I've already fixed a similar case in the x86 backend).
Can a target maintainer please take this?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (2 preceding siblings ...)
2022-07-11 12:20 ` [Bug target/106253] " rguenth at gcc dot gnu.org
@ 2022-07-11 12:21 ` rguenth at gcc dot gnu.org
2022-07-11 12:45 ` rsandifo at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-11 12:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
aarch64_builtin_vectorized_function is what returns these, but the decls
seem to be generated elsewhere.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (3 preceding siblings ...)
2022-07-11 12:21 ` rguenth at gcc dot gnu.org
@ 2022-07-11 12:45 ` rsandifo at gcc dot gnu.org
2022-07-11 21:56 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2022-07-11 12:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
I guess we'll need different patterns in that case. These builtins
are also used to expand ACLE intrinsics, and I think for those we
have to honour the prevailing flush-to-zero mode, which makes the
functions at best pure rather than const.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (4 preceding siblings ...)
2022-07-11 12:45 ` rsandifo at gcc dot gnu.org
@ 2022-07-11 21:56 ` pinskia at gcc dot gnu.org
2022-07-12 11:00 ` tnfchris at gcc dot gnu.org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-11 21:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to rsandifo@gcc.gnu.org from comment #4)
> I think for those we have to honour the prevailing
> flush-to-zero mode, which makes the
> functions at best pure rather than const.
GCC does handle changing of the rounding mode or change of the denormalized
flush to zero mode even in general floating point code. So the question becomes
should wait for the infrastructure to be added to fix that case or add another
builtin?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (5 preceding siblings ...)
2022-07-11 21:56 ` pinskia at gcc dot gnu.org
@ 2022-07-12 11:00 ` tnfchris at gcc dot gnu.org
2022-07-12 12:37 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2022-07-12 11:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tnfchris at gcc dot gnu.org
Target|aarch64-linux-gnu |aarch64-linux-gnu,
| |arm-none-linux-gnueabihf
--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Same problem happens with Armhf when building libc.
during GIMPLE pass: vect
In file included from sha256.c:213:
./sha256-block.c: In function ‘__sha256_process_block’:
./sha256-block.c:6:1: internal compiler error: in vect_transform_loops, at
tree-vectorizer.cc:1032
6 | __sha256_process_block (const void *buffer, size_t len, struct
sha256_ctx *ctx)
| ^~~~~~~~~~~~~~~~~~~~~~
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (6 preceding siblings ...)
2022-07-12 11:00 ` tnfchris at gcc dot gnu.org
@ 2022-07-12 12:37 ` rguenth at gcc dot gnu.org
2022-07-12 13:09 ` cvs-commit at gcc dot gnu.org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-12 12:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, I can see
FAIL: gcc.dg/vect/vect-rounding-lceil.c (internal compiler error: in
vect_transf
orm_loops, at tree-vectorizer.cc:1032)
FAIL: gcc.dg/vect/vect-rounding-lfloor.c (internal compiler error: in
vect_transform_loops, at tree-vectorizer.cc:1032)
FAIL: gfortran.dg/g77/20010430.f -O2 (internal compiler error: in
vect_transform_loops, at tree-vectorizer.cc:1032)
(NINT user)
when testing aarch64-linux. Those are all this aarch64 builtin issue (and
probably also reproduce on the arm backend side).
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (7 preceding siblings ...)
2022-07-12 12:37 ` rguenth at gcc dot gnu.org
@ 2022-07-12 13:09 ` cvs-commit at gcc dot gnu.org
2022-07-12 13:10 ` rsandifo at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-12 13:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsandifo@gcc.gnu.org>:
https://gcc.gnu.org/g:00eab0c654e09c8a0f1b1a3b1c7bff8764e64991
commit r13-1647-g00eab0c654e09c8a0f1b1a3b1c7bff8764e64991
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Tue Jul 12 14:09:44 2022 +0100
Add internal functions for iround etc. [PR106253]
The PR is about the aarch64 port using an ACLE built-in function
to vectorise a scalar function call, even though the ECF_* flags for
the ACLE function didn't match the ECF_* flags for the scalar call.
To some extent that kind of difference is inevitable, since the
ACLE intrinsics are supposed to follow the behaviour of the
underlying instruction as closely as possible. Also, using
target-specific builtins has the drawback of limiting further
gimple optimisation, since the gimple optimisers won't know what
the function does.
We handle several other maths functions, including round, floor
and ceil, by defining directly-mapped internal functions that
are linked to the associated built-in functions. This has two
main advantages:
- it means that, internally, we are not restricted to the set of
scalar types that happen to have associated C/C++ functions
- the functions (and thus the underlying optabs) extend naturally
to vectors
This patch takes the same approach for the remaining functions
handled by aarch64_builtin_vectorized_function.
gcc/
PR target/106253
* predict.h (insn_optimization_type): Declare.
* predict.cc (insn_optimization_type): New function.
* internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
(IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
(IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
* internal-fn.cc (unary_convert_direct): New macro.
(expand_convert_optab_fn): New function.
(expand_unary_convert_optab_fn): New macro.
(direct_unary_convert_optab_supported_p): Likewise.
* optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
convert_optab_handler.
* config/aarch64/aarch64-protos.h
(aarch64_builtin_vectorized_function): Delete.
* config/aarch64/aarch64-builtins.cc
(aarch64_builtin_vectorized_function): Delete.
* config/aarch64/aarch64.cc
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
* config/i386/i386.cc (ix86_optab_supported_p): Handle
lround_optab.
* config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2):
Remove
optimize_insn_for_size_p test.
gcc/testsuite/
PR target/106253
* gcc.target/aarch64/vect_unary_1.c: Add tests for iroundf,
llround, iceilf, llceil, ifloorf, llfloor, irintf and llrint.
* gfortran.dg/vect/pr106253.f: New test.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (8 preceding siblings ...)
2022-07-12 13:09 ` cvs-commit at gcc dot gnu.org
@ 2022-07-12 13:10 ` rsandifo at gcc dot gnu.org
2022-07-13 11:12 ` tnfchris at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2022-07-12 13:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org
--- Comment #9 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Fixed for aarch64. I'll do the same thing for arm.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (9 preceding siblings ...)
2022-07-12 13:10 ` rsandifo at gcc dot gnu.org
@ 2022-07-13 11:12 ` tnfchris at gcc dot gnu.org
2022-07-13 12:06 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2022-07-13 11:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #10 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
For completeness, I reduced the Armhf failure and that seems to happen on
bswap.
#include <stdlib.h>
#include <stdint.h>
void
__sha256_process_block (uint32_t *buffer, size_t len, uint32_t *W)
{
for (unsigned int t = 0; t < 16; ++t)
{
W[t] = __bswap_32 (*buffer);
++buffer;
}
}
will ICE at -O3
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (10 preceding siblings ...)
2022-07-13 11:12 ` tnfchris at gcc dot gnu.org
@ 2022-07-13 12:06 ` rguenth at gcc dot gnu.org
2022-07-18 11:57 ` cvs-commit at gcc dot gnu.org
2022-07-18 11:58 ` rsandifo at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-13 12:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Tamar Christina from comment #10)
> For completeness, I reduced the Armhf failure and that seems to happen on
> bswap.
>
> #include <stdlib.h>
> #include <stdint.h>
>
> void
> __sha256_process_block (uint32_t *buffer, size_t len, uint32_t *W)
> {
> for (unsigned int t = 0; t < 16; ++t)
> {
> W[t] = __bswap_32 (*buffer);
> ++buffer;
> }
> }
>
> will ICE at -O3
So similar issue for __builtin_neon_bswapv4si_uu then which is thought to
clobber memory (it hopefully doesn't).
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (11 preceding siblings ...)
2022-07-13 12:06 ` rguenth at gcc dot gnu.org
@ 2022-07-18 11:57 ` cvs-commit at gcc dot gnu.org
2022-07-18 11:58 ` rsandifo at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-18 11:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsandifo@gcc.gnu.org>:
https://gcc.gnu.org/g:7313381d2ce44b72b4c9f70bd5670e5d78d1f631
commit r13-1730-g7313381d2ce44b72b4c9f70bd5670e5d78d1f631
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Mon Jul 18 12:57:10 2022 +0100
arm: Replace arm_builtin_vectorized_function [PR106253]
This patch extends the fix for PR106253 to AArch32. As with AArch64,
we were using ACLE intrinsics to vectorise scalar built-ins, even
though the two sometimes have different ECF_* flags. (That in turn
is because the ACLE intrinsics should follow the instruction semantics
as closely as possible, whereas the scalar built-ins follow language
specs.)
The patch also removes the copysignf built-in, which only existed
for this purpose and wasn't a ârealâ arm_neon.h built-in.
Doing this also has the side-effect of enabling vectorisation of
rint and roundeven. Logically that should be a separate patch,
but making it one would have meant adding a new int iterator
for the original set of instructions and then removing it again
when including new functions.
I've restricted the bswap tests to little-endian because we end
up with excessive spilling on big-endian. E.g.:
sub sp, sp, #8
vstr d1, [sp]
vldr d16, [sp]
vrev16.8 d16, d16
vstr d16, [sp]
vldr d0, [sp]
add sp, sp, #8
@ sp needed
bx lr
Similarly, the copysign tests require little-endian because on
big-endian we unnecessarily load the constant from the constant pool:
vldr.32 s15, .L3
vdup.32 d0, d7[1]
vbsl d0, d2, d1
bx lr
.L3:
.word -2147483648
gcc/
PR target/106253
* config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
Delete.
* config/arm/arm-protos.h (arm_builtin_vectorized_function):
Delete.
* config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
Delete.
* config/arm/arm_neon_builtins.def (copysignf): Delete.
* config/arm/iterators.md (nvrint_pattern): New attribute.
* config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
New pattern.
(l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
Likewise.
(neon_copysignf<mode>): Rename to...
(copysign<mode>3): ...this.
gcc/testsuite/
PR target/106253
* gcc.target/arm/vect_unary_1.c: New test.
* gcc.target/arm/vect_binary_1.c: Likewise.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
` (12 preceding siblings ...)
2022-07-18 11:57 ` cvs-commit at gcc dot gnu.org
@ 2022-07-18 11:58 ` rsandifo at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2022-07-18 11:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106253
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #13 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Fixed for arm and aarch64.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-07-18 11:58 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-11 10:28 [Bug tree-optimization/106253] New: [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032x marxin at gcc dot gnu.org
2022-07-11 10:29 ` [Bug tree-optimization/106253] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032 marxin at gcc dot gnu.org
2022-07-11 11:11 ` rguenth at gcc dot gnu.org
2022-07-11 12:20 ` [Bug target/106253] " rguenth at gcc dot gnu.org
2022-07-11 12:21 ` rguenth at gcc dot gnu.org
2022-07-11 12:45 ` rsandifo at gcc dot gnu.org
2022-07-11 21:56 ` pinskia at gcc dot gnu.org
2022-07-12 11:00 ` tnfchris at gcc dot gnu.org
2022-07-12 12:37 ` rguenth at gcc dot gnu.org
2022-07-12 13:09 ` cvs-commit at gcc dot gnu.org
2022-07-12 13:10 ` rsandifo at gcc dot gnu.org
2022-07-13 11:12 ` tnfchris at gcc dot gnu.org
2022-07-13 12:06 ` rguenth at gcc dot gnu.org
2022-07-18 11:57 ` cvs-commit at gcc dot gnu.org
2022-07-18 11:58 ` rsandifo at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).