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.