http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55341



Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

  Attachment #29019|0                           |1

        is obsolete|                            |



--- Comment #47 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 
2012-12-24 11:53:57 UTC ---

Created attachment 29041

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29041

good and bad version of the asm of

__qs_dispersion_pairpot_MOD_calculate_dispersion_pairpot



two asm files for the routine that appears to be problematic (

__qs_dispersion_pairpot_MOD_calculate_dispersion_pairpot), compiled once with

and once without -march=native



I'm not particularly versed in asm, but this part of the diff seems like it

could be significant, it is just before the return of the subroutine, and could

be some difference in unpoisoning ?:



35418,35423d35699

<       movq    -10392(%rbp), %rdx

<       movl    $724, %esi

<       testb   $1, %dl

<       je      .L66

<       movb    $0, (%rdx)

< .LVL2656:

35425,35426c35701,35702

<       leaq    1(%rax), %rdx

<       movb    $-45, %sil

---

>       addq    $724, %rax

> .LVL2645:

35428,35460c35704,35708

<       testb   $2, %dl

<       je      .L67

<       movw    $0, (%rdx)

<       addq    $2, %rdx

<       subl    $2, %esi

< .L67:

<       testb   $4, %dl

<       je      .L68

<       movl    $0, (%rdx)

<       addq    $4, %rdx

<       subl    $4, %esi

< .L68:

<       movl    %esi, %eax

<       shrl    $3, %eax

<       movl    %eax, %ecx

<       movl    $0, %eax

<       movq    %rdx, %rdi

<       rep stosq

<       movq    %rdi, %rdx

<       testb   $4, %sil

<       je      .L69

<       movl    $0, (%rdi)

<       addq    $4, %rdx

< .L69:

<       testb   $2, %sil

<       je      .L70

<       movw    $0, (%rdx)

<       addq    $2, %rdx

< .L70:

<       testb   $1, %sil

<       je      .L71

<       movb    $0, (%rdx)

< .L71:

---

>       movq    -10392(%rbp), %rbx

>       movl    $0, (%rbx)

>       addq    $4, -10392(%rbp)

>       cmpq    %rax, -10392(%rbp)

>       jb      .L66

35653c35901

Reply via email to