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

--- Comment #2 from Dylan Rees <Dylan.Rees at arm dot com> ---
Having looked at the object code of this patch versus the one just before I can
see nothing but the expected code changes. Functionally the code looks
identical but the structure has altered since this patch results in earlier
vector-duplication/broadcast scheduling. The majority of code difference is
call/jump
displacements caused by the smaller code layout but I found no obvious
functional issues.

Functions that have changed:
* update_u:
    - Expected patch behaviour is present, scalar coefficient calculations are  
      grouped first, followed by vbroadcastsd operations.
    - Stack usage drops.

* imp_gauge_force.constprop.0:
    - Stack usage drops.
    - Eliminates a few instructions.
    - Control flow and call count remain unchanged.

* add_force_to_mom:
    - Instruction count and control flow are unchanged.
    - Instruction form, register allocation and structural changes appear  
      algebraically equivalent and do not introduce extra work.

* u_shift_fermion:
    - Only redundant alignment NOP padding is shortened.

Reply via email to