------- Comment #6 from rguenth at gcc dot gnu dot org  2009-05-19 12:04 -------
The intel compiler passes I1 by value:

..___tag_value_f1_.1:                                           #1.18
        subq      $24, %rsp                                     #1.18
..___tag_value_f1_.3:                                           #
        lea       12(%rsp), %rcx                                #15.3
        movq      %rcx, (%rsp)                                  #15.3
        lea       8(%rsp), %rdi                                 #16.8
        movl      $1, %edx                                      #13.3
        xorl      %eax, %eax                                    #16.8
        movl      %edx, 8(%rsp)                                 #13.3
        movl      %edx, 12(%rsp)                                #14.3
        lea       (%rsp), %rsi                                  #16.8
        call      s_                                            #16.8
                                # LOE rbx rbp r12 r13 r14 r15
..B1.2:                         # Preds ..B1.1
        movq      (%rsp), %rdx                                  #17.3
        movl      8(%rsp), %eax                                 #20.1
        movl      $2, (%rdx)                                    #17.3
        addq      $24, %rsp                                     #20.1
..___tag_value_f1_.4:                                           #
        ret                                                     #20.1

even though it's code generation is funny at -O2 ...


-- 


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

Reply via email to