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

--- Comment #1 from YunQiang Su <syq at gcc dot gnu.org> ---
In file included from
../../../../../libstdc++-v3/src/c++17/floating_from_chars.cc:86:                
../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h: In function
‘std::from_chars_result {anonymous}::fast_float::from_chars_advanced(const c
har*, const char*, T&, parse_options) [with T = double]’:                       
../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h:3039:1: error:
unable to find a register to spill                                        
 3039 | }                                                                       
      | ^                                                                       
../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h:3039:1: error:
this is the insn:                                                         
(insn 3578 7721 7722 263 (parallel [                                            
            (set (reg:SI 3353)                                                  
                (plus:SI (mult:SI (reg:SI 3185 [orig:2219 _914+4 ] [2219])      
                        (reg:SI 2175 [ _280+4 ]))                               
                    (reg:SI 3354)))                                            
                                                                               
   (clobber (reg:SI 3186 [3073]))                                              
                                                                         
(clobber (reg:SI 3074))                                                        
                                                                   ])
"../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h":248:26 42
{*mul_acc_si}                                                         
(expr_list:REG_UNUSED (reg:SI 3074)                                            
                                                                         
(expr_list:REG_UNUSED (reg:SI 3186 [3073])                                     
                                                                          
(expr_list:REG_DEAD (reg:SI 3354)                                              
                                                                          
(expr_list:REG_DEAD (reg:SI 3185 [orig:2219 _914+4 ] [2219])                   
                                                                          
(nil))))))                                                                     
                                                   during RTL pass: reload     
                                                                               
                                         
../../../../../libstdc++-v3/src/c++17/fast_float/fast_float.h:3039:1: internal
compiler error: in lra_split_hard_reg_for, at lra-assigns.cc:1862      
0x7cf140 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)                                                                        
      ../../gcc/rtl-error.cc:108                                               
                                                                     0x10184c5
lra_split_hard_reg_for()                                                       
                                                                    
../../gcc/lra-assigns.cc:1862                                                  
                                                               0x1012405
lra(_IO_FILE*, int)                                                             
        ../../gcc/lra.cc:2518                                              
0xfc76df do_reload                                                              
        ../../gcc/ira.cc:5973                                              
0xfc76df execute                                                           
        ../../gcc/ira.cc:6161

Reply via email to