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

--- Comment #3 from Srikanth <nasika.srikanth1 at gmail dot com> ---
Comment on attachment 33225
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33225
In this assemble code line number at 22-25 and after 27-30 both are same
instructions repeated for conditional checking.

>       file    "testcondition.c"
>       .section        .rodata
>.LC2:
>       .string "true"
>.LC3:
>       .string "false"
>       .text
>       .globl  main
>       .type   main, @function
>main:
>.LFB0:
>       .cfi_startproc
>       pushl   %ebp
>       .cfi_def_cfa_offset 8
>       .cfi_offset 5, -8
>       movl    %esp, %ebp
>       .cfi_def_cfa_register 5
>       andl    $-16, %esp
>       subl    $32, %esp
>       movl    .LC0, %eax
>       movl    %eax, 28(%esp)
>       flds    28(%esp)
>       fldz
>       fucomip %st(1), %st
>       fstp    %st(0)
>       jp      .L6
        flds    28(%esp)
    fldz
    fucomip    %st(1), %st
    fstp    %st(0)
>       je      .L7
>.L6:
>       movl    $.LC2, (%esp)
>       call    printf
>       jmp     .L4
>.L7:
>       movl    $.LC3, (%esp)
>       call    printf
>.L4:
>       movl    $0, %eax
>       leave
>       .cfi_restore 5
>       .cfi_def_cfa 4, 4
>       ret
>       .cfi_endproc
>.LFE0:
>       .size   main, .-main
>       .section        .rodata
>       .align 4
>.LC0:
>       .long   1094713344
>       .ident  "GCC: (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1"
>       .section        .note.GNU-stack,"",@progbits

Reply via email to