public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
@ 2021-02-26 9:34 ` andrew.goodbody at linaro dot org
2021-02-26 9:43 ` andrew.goodbody at linaro dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: andrew.goodbody at linaro dot org @ 2021-02-26 9:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
andrew.goodbody at linaro dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |andrew.goodbody at linaro dot org
--- Comment #1 from andrew.goodbody at linaro dot org ---
gcc 10.2.0 built from tarball running native on aarch64 shows the same
behaviour. I will attach the pre-processed source if I can although its over
9MB.
In file included from
external/eigen_archive/unsupported/Eigen/CXX11/Tensor:144,
from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1,
from ./tensorflow/core/framework/numeric_types.h:20,
from ./tensorflow/core/framework/allocator.h:26,
from ./tensorflow/core/framework/op_kernel.h:25,
from ./tensorflow/core/kernels/histogram_op.h:19,
from tensorflow/core/kernels/histogram_op.cc:20:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h: In
static member function 'static void Eigen::internal::EvalRange<Evaluator,
StorageIndex, true>::run(Evaluator*, StorageIndex, StorageIndex) [with
Evaluator = Eigen::TensorEvaluator<const
Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<int, 1, 1, long int>, 16,
Eigen::MakePointer>, const Eigen::TensorConversionOp<int, const
Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_min_op<double, double>,
const
Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_quotient_op<double,
double> >, const Eigen::TensorConversionOp<double, const
Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<Eigen::half,
Eigen::half>, const
Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_max_op<const Eigen::half,
const Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1,
1, long int>, 16, Eigen::MakePointer>, const
Eigen::TensorCwiseNullaryOp<Eigen::internal::scalar_constant_op<const
Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1, 1,
long int>, 16, Eigen::MakePointer> > >, const
Eigen::TensorCwiseNullaryOp<Eigen::internal::scalar_constant_op<const
Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1, 1,
long int>, 16, Eigen::MakePointer> > > > >, const
Eigen::TensorCwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const
Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_quotient_op<double,
double> >, const Eigen::TensorConversionOp<double, const
Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<Eigen::half,
Eigen::half>, const
Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_max_op<const Eigen::half,
const Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1,
1, long int>, 16, Eigen::MakePointer>, const
Eigen::TensorCwiseNullaryOp<Eigen::internal::scalar_constant_op<const
Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1, 1,
long int>, 16, Eigen::MakePointer> > >, const
Eigen::TensorCwiseNullaryOp<Eigen::internal::scalar_constant_op<const
Eigen::half>, const Eigen::TensorMap<Eigen::Tensor<const Eigen::half, 1, 1,
long int>, 16, Eigen::MakePointer> > > > > > > > >, Eigen::ThreadPoolDevice>;
StorageIndex = long int]':
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:349:3:
error: could not split insn
349 | }
| ^
(insn 1615 2102 1433 (set (reg:VNx4SF 34 v2 [orig:554 _1597 ] [554])
(unspec:VNx4SF [
(reg:VNx4BI 72 p4 [orig:376 vec_mask_and_1413 ] [376])
(unspec:VNx4SF [
(reg:VNx4BI 78 p10 [orig:376 vec_mask_and_1413 ] [376])
(const_int 1 [0x1])
(reg:VNx4SF 49 v17 [2017])
(reg:VNx4SF 32 v0 [2049])
] UNSPEC_COND_FADD)
(reg:VNx4SF 39 v7 [orig:392 vect__ifc__887.8029 ] [392])
] UNSPEC_SEL)) 5628 {*cond_addvnx4sf_any}
(expr_list:REG_DEAD (reg:VNx4BI 78 p10 [orig:376 vec_mask_and_1413 ]
[376])
(expr_list:REG_DEAD (reg:VNx4BI 72 p4 [orig:376 vec_mask_and_1413 ]
[376])
(expr_list:REG_DEAD (reg:VNx4SF 39 v7 [orig:392 vect__ifc__887.8029
] [392])
(expr_list:REG_EQUAL (unspec:VNx4SF [
(reg:VNx4BI 78 p10 [orig:376 vec_mask_and_1413 ]
[376])
(unspec:VNx4SF [
(reg:VNx4BI 78 p10 [orig:376
vec_mask_and_1413 ] [376])
(const_int 1 [0x1])
(reg:VNx4SF 49 v17 [2017])
(const_vector:VNx4SF [
(const_double:SF -6.103515625e-5
[-0x0.8p-13])
])
] UNSPEC_COND_FADD)
(subreg:VNx4SF (reg:VNx4SI 39 v7 [orig:392
vect__ifc__887.8029 ] [392]) 0)
] UNSPEC_SEL)
(nil))))))
during RTL pass: final
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:349:3:
internal compiler error: in final_scan_insn_1, at final.c:3073
0x69255f _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/rtl-error.c:108
0x9debcf final_scan_insn_1
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/final.c:3073
0x9dede3 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/final.c:3152
0x9df0a7 final_1
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/final.c:2020
0x9df823 rest_of_handle_final
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/final.c:4658
0x9df823 execute
/home/builder/src/gcc/10.2.0/gcc-10.2.0/gcc/final.c:4736
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
2021-02-26 9:34 ` [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn) andrew.goodbody at linaro dot org
@ 2021-02-26 9:43 ` andrew.goodbody at linaro dot org
2021-02-26 9:46 ` andrew.goodbody at linaro dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: andrew.goodbody at linaro dot org @ 2021-02-26 9:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #2 from andrew.goodbody at linaro dot org ---
Created attachment 50260
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50260&action=edit
Pre-processed source showing bug
Sorry its an archive but its too big as plain text. Produced along with the
output from the previous comment.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
2021-02-26 9:34 ` [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn) andrew.goodbody at linaro dot org
2021-02-26 9:43 ` andrew.goodbody at linaro dot org
@ 2021-02-26 9:46 ` andrew.goodbody at linaro dot org
2021-02-27 0:21 ` segher at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: andrew.goodbody at linaro dot org @ 2021-02-26 9:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #3 from andrew.goodbody at linaro dot org ---
Command line used was this
/usr/local/bin/gcc -U_FORTIFY_SOURCE -Wall
-Wunused-but-set-parameter -Wno-free-nonheap-object
-fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG
-ffunction-sections -fdata-sections '-std=c++0x' -MD -MF
bazel-out/aarch64-opt/bin/tensorflow/core/kernels/_objs/histogram_op/histogram_op.pic.d
'-frandom-seed=bazel-out/aarch64-opt/bin/tensorflow/core/kernels/_objs/histogram_op/histogram_op.pic.o'
-fPIC -D__CLANG_SUPPORT_DYN_ANNOTATION__ -DEIGEN_MPL2_ONLY
'-DEIGEN_MAX_ALIGN_BYTES=64' '-DEIGEN_HAS_TYPE_TRAITS=0'
-DEIGEN_USE_BLAS -DEIGEN_USE_LAPACK -iquote . -iquote
bazel-out/aarch64-opt/bin -iquote external/com_google_absl -iquote
bazel-out/aarch64-opt/bin/external/com_google_absl -iquote
external/eigen_archive -iquote
bazel-out/aarch64-opt/bin/external/eigen_archive -iquote
external/local_config_sycl -iquote
bazel-out/aarch64-opt/bin/external/local_config_sycl -iquote
external/nsync -iquote bazel-out/aarch64-opt/bin/external/nsync
-iquote external/com_googlesource_code_re2 -iquote
bazel-out/aarch64-opt/bin/external/com_googlesource_code_re2 -iquote
external/gif -iquote bazel-out/aarch64-opt/bin/external/gif -iquote
external/libjpeg_turbo -iquote
bazel-out/aarch64-opt/bin/external/libjpeg_turbo -iquote
external/com_google_protobuf -iquote
bazel-out/aarch64-opt/bin/external/com_google_protobuf -iquote
external/farmhash_archive -iquote
bazel-out/aarch64-opt/bin/external/farmhash_archive -iquote
external/fft2d -iquote bazel-out/aarch64-opt/bin/external/fft2d
-iquote external/highwayhash -iquote
bazel-out/aarch64-opt/bin/external/highwayhash -iquote
external/zlib_archive -iquote
bazel-out/aarch64-opt/bin/external/zlib_archive -isystem
third_party/eigen3/mkl_include -isystem
bazel-out/aarch64-opt/bin/third_party/eigen3/mkl_include -isystem
external/eigen_archive -isystem
bazel-out/aarch64-opt/bin/external/eigen_archive -isystem
external/nsync/public -isystem
bazel-out/aarch64-opt/bin/external/nsync/public -isystem external/gif
-isystem bazel-out/aarch64-opt/bin/external/gif -isystem
external/com_google_protobuf/src -isystem
bazel-out/aarch64-opt/bin/external/com_google_protobuf/src -isystem
external/farmhash_archive/src -isystem
bazel-out/aarch64-opt/bin/external/farmhash_archive/src -isystem
external/zlib_archive -isystem
bazel-out/aarch64-opt/bin/external/zlib_archive '-march=armv8.2-a+sve'
-O3 '-std=c++14' '-march=armv8.2-a+sve' -O3
'-D_GLIBCXX_USE_CXX11_ABI=0' -DEIGEN_AVOID_STL_ARRAY
-Iexternal/gemmlowp -Wno-sign-compare '-ftemplate-depth=900'
-fno-exceptions '-DINTEL_MKL=1' -DEIGEN_USE_VML
-DINTEL_MKL_DNN_ONLY -DENABLE_MKL -pthread '-DINTEL_MKL=1'
-DINTEL_MKL_DNN_ONLY -DENABLE_MKL -fno-canonical-system-headers
-Wno-builtin-macro-redefined '-D__DATE__="redacted"'
'-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c
tensorflow/core/kernels/histogram_op.cc -o
bazel-out/aarch64-opt/bin/tensorflow/core/kernels/_objs/histogram_op/histogram_op.pic.o
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2021-02-26 9:46 ` andrew.goodbody at linaro dot org
@ 2021-02-27 0:21 ` segher at gcc dot gnu.org
2021-02-27 5:28 ` asolokha at gmx dot com
` (5 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: segher at gcc dot gnu.org @ 2021-02-27 0:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
I cannot get the reduced testcase to fail. Are any special options needed?
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2021-02-27 0:21 ` segher at gcc dot gnu.org
@ 2021-02-27 5:28 ` asolokha at gmx dot com
2021-02-27 8:54 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: asolokha at gmx dot com @ 2021-02-27 5:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #5 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Segher Boessenkool from comment #4)
> I cannot get the reduced testcase to fail. Are any special options needed?
If you've been asking me: no, the compiler invocation posted in comment 0 is
explicit, but maybe you need -m32 -f{,no-}PIC -f{,no-}stack-protector which one
often does for reproducing my PRs because of the configuration I use. I'll
certainly test the current snapshot, but I won't be able to do so at least one
more week.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2021-02-27 5:28 ` asolokha at gmx dot com
@ 2021-02-27 8:54 ` jakub at gcc dot gnu.org
2021-02-27 9:02 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-27 8:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I can reproduce #c0 with an older trunk and -m32 -mcpu=e300c3 in a cross, but
it has been fixed with
r11-3606-g4c69e61f4307865b95151006e480ae2022b30454
So maybe that fix needs backporting?
As for #c3-#c5, please file a separate bug, a rs6000 backend bug certainly has
nothing to do with completely unrelated aarch64 ICE.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2021-02-27 8:54 ` jakub at gcc dot gnu.org
@ 2021-02-27 9:02 ` jakub at gcc dot gnu.org
2021-02-27 20:48 ` segher at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-27 9:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And to explain what was happening,
rs6000_legitimize_address has been called on x
(plus:SI (reg/f:SI 117)
(const_int 2147483647 [0x7fffffff]))
and mode QImode, oldx == x.
((0x7fffffff & 0xffff) ^ 0x8000) - 0x8000
is low_int -1 and
if (low_int >= 0x8000 - extra)
is not true and 0x7fffffff - -1 is 0x80000000 (with UB on the compiler side).
So maybe the above mentioned commit wasn't sufficient and
we should
- high_int = INTVAL (XEXP (x, 1)) - low_int;
+ high_int = UINTVAL (XEXP (x, 1)) - low_int;
But also
&& ((unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000)
can invoke UB in the compiler, shouldn't it be just
&& ((UINTVAL (XEXP (x, 1)) + 0x8000)
?
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2021-02-27 9:02 ` jakub at gcc dot gnu.org
@ 2021-02-27 20:48 ` segher at gcc dot gnu.org
2021-02-27 20:56 ` segher at gcc dot gnu.org
2024-03-23 23:17 ` pinskia at gcc dot gnu.org
9 siblings, 0 replies; 10+ messages in thread
From: segher at gcc dot gnu.org @ 2021-02-27 20:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Arseny Solokha from comment #5)
> (In reply to Segher Boessenkool from comment #4)
> > I cannot get the reduced testcase to fail. Are any special options needed?
>
> If you've been asking me:
Well you reported this, so probably? :-)
> no, the compiler invocation posted in comment 0 is
> explicit, but maybe you need -m32 -f{,no-}PIC -f{,no-}stack-protector which
> one often does for reproducing my PRs because of the configuration I use.
Maybe that is why I so often cannot reproduce your PRs? Please always state
the
exact compiler configuration / invocation needed.
> I'll certainly test the current snapshot, but I won't be able to do so at
> least one more week.
Jakub in comment 7 seems to have found the problem. I cc:ed Alan, who did
4c69e61f4307, which seems to have fixed it on trunk (there is no PR for that
so far?)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2021-02-27 20:48 ` segher at gcc dot gnu.org
@ 2021-02-27 20:56 ` segher at gcc dot gnu.org
2024-03-23 23:17 ` pinskia at gcc dot gnu.org
9 siblings, 0 replies; 10+ messages in thread
From: segher at gcc dot gnu.org @ 2021-02-27 20:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #7)
> if (low_int >= 0x8000 - extra)
> is not true and 0x7fffffff - -1 is 0x80000000 (with UB on the compiler side).
These are HWIs, so there is no UB.
> But also
> && ((unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000)
> can invoke UB in the compiler, shouldn't it be just
> && ((UINTVAL (XEXP (x, 1)) + 0x8000)
> ?
That sounds right, yes.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn)
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2021-02-27 20:56 ` segher at gcc dot gnu.org
@ 2024-03-23 23:17 ` pinskia at gcc dot gnu.org
9 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-23 23:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93353
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Target Milestone|--- |11.0
Status|UNCONFIRMED |RESOLVED
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed so closing as such as GCC 10 no longer being updated.
Note the aarch64 bug which was reported (incorrectly in this bug report) is a
dup of PR 96357.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-03-23 23:17 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-93353-4@http.gcc.gnu.org/bugzilla/>
2021-02-26 9:34 ` [Bug target/93353] ICE: in final_scan_insn_1, at final.c:3073 (error: could not split insn) andrew.goodbody at linaro dot org
2021-02-26 9:43 ` andrew.goodbody at linaro dot org
2021-02-26 9:46 ` andrew.goodbody at linaro dot org
2021-02-27 0:21 ` segher at gcc dot gnu.org
2021-02-27 5:28 ` asolokha at gmx dot com
2021-02-27 8:54 ` jakub at gcc dot gnu.org
2021-02-27 9:02 ` jakub at gcc dot gnu.org
2021-02-27 20:48 ` segher at gcc dot gnu.org
2021-02-27 20:56 ` segher at gcc dot gnu.org
2024-03-23 23:17 ` pinskia 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).