On Sat, Oct 12, 2024 at 12:21 AM H.J. Lu <hjl.to...@gmail.com> wrote:
>
> Before
>
> 1089d083117 Simplify (B * v + C) * D -> BD* v + CD when B,C,D are all 
> INTEGER_CS
> T.
>
> the loop was
>
> .L2:
> movl (%rdi,%rdx), %eax
> addl $12345, %eax
> imull $-1564285888, %eax, %eax
> leal -333519936(%rax), %eax
> movl %eax, (%rsi,%rdx)
> addq $4, %rdx
> cmpq $1024, %rdx
> jne .L2
>
> There were 1 addl and 1 leal. 1 addq was to update the loop counter.  The
> optimized loop is
>
> .L2:
> imull $-1564285888, (%rdi,%rax), %edx
> subl $1269844480, %edx
> movl %edx, (%rsi,%rax)
> addq $4, %rax
> cmpq $1024, %rax
> jne .L2
>
> 1 addl is changed to subl and leal is removed. Adjust assembly scan to
> check for 1 subl and 1 addl/addq as well as lea removal.
>
> * gcc.target/i386/pr53533-1.c: Adjust assembly scan.
> * gcc.target/i386/pr53533-3.c: Likewise.

OK.

Thanks,
Uros.

Reply via email to