[Bug tree-optimization/69368] [6 Regression] spec2006 test case 416.gamess fails with the g++ 6.0 compiler starting with r232508

wdijkstr at arm dot com gcc-bugzilla@gcc.gnu.org
Mon Feb 1 16:15:00 GMT 2016


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

--- Comment #8 from Wilco <wdijkstr at arm dot com> ---
In a few functions GCC decides that the assignments in loops are redundant. The
loops still execute but have their loads and stores removed. Eg. the first DO
loop in MP2NRG should be:

.L1027:                                             
          add     w7, w7, 1                                
          add     w8, w8, w10                       
          cmp     w7, w26 
          beq     .L1026                               
.L1029:                                                  
          add     w0, w11, w7                
          add     x0, x2, x0, sxtw 3
          ldr     x1, [x0, -8] 
          add     x0, x2, x7, sxtw 3
          str     x1, [x0, -8] 
          cmp     w9, 0 
          ble     .L1027 

But with the scopedtables change it becomes:

.L1027:                                                  
          add     w2, w2, 1                                
          cmp     w2, w3                                   
          beq     .L1026                                   
.L1029:                                                  
          cmp     w4, 0                                    
          ble     .L1027


More information about the Gcc-bugs mailing list