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