https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120666

            Bug ID: 120666
           Summary: ICE when building with fast-math, O3 and LTO
           Product: gcc
           Version: 14.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: eebssk1 at godaftwithebk dot pub
  Target Milestone: ---

when building ffmpeg with fast-math,O3(default for release) and LTO,gcc ICE
occurred.
Note that ffmpeg disables tree-vectorize by default due to a bug in earlier
version of gcc.

The error:
src/libavcodec/hcadec.c:332:42: warning: writing 4 bytes into a region of size
0 [-Wstringop-overflow=]                                                       
                   332 |                 x[0] = 1; x[1] = 2; x[4] = 1; x[5] =
2; x[6] = 1; x[7] = 2;           |                                          ^  
                                   src/libavcodec/hcadec.c:213:12: note: at
offset [180, 2036] into destination object ‘r’ of size 16                      
                                                         213 |     int8_t r[16]
= { 0 };                                                             |         
  ^                                                                   
src/libavcodec/hcadec.c:213:12: note: at offset [52, 116] into destination
object ‘r’ of size 16                                                          
                     src/libavcodec/hcadec.c:213:12: note: at offset [180,
2036] into destination object ‘r’ of size 16                                   
                                          during GIMPLE pass: slp              
                                                  src/libavcodec/evrcdec.c: In
function ‘decode_predictor_coeffs’:                       
src/libavcodec/evrcdec.c:348:13: internal compiler error: in
vectorizable_simd_clone_call, at tree-vect-stmts.cc:3999                       
                                     348 | static void
decode_predictor_coeffs(const float *ilspf, float *ilpc)                  |    
        ^                                                                  
0x25b2a3e internal_error(char const*, ...)                                     
                ???:0                                                          
                0x6b27fe fancy_abort(char const*, int, char const*)            
                                ???:0                                          
                                0x2459737 vect_analyze_stmt(vec_info*,
_stmt_vec_info*, bool*, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost,
va_heap, vl_ptr>*)
0x2459737 vect_analyze_stmt(vec_info*, _stmt_vec_info*, bool*, _slp_tr17:43:19
[14/2636]*, vec<stmt_info_for_cost, va_heap, vl_ptr>*)                         
                         ???:0                                                 
                         0x12dfcc4 vect_slp_analyze_operations(vec_info*)      
                                         ???:0                                 
                                         0x12e51f2 vect_slp_function(function*)
                                                         ???:0                 
                                                         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.                             
         make[1]: *** [/tmp/ccOt8L8X.mk:116:/tmp/ccjn6yRO.ltrans38.ltrans.o

Reply via email to