http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58928
--- Comment #2 from Michael Barker <mikeb01 at gmail dot com> --- > Hope helps What hardware platform are you testing on? I'm running on Ivy Bridge: Intel(R) Xeon(R) CPU E5620 @2.40GHz Could you put the assembler that you see on the ticket: With -mlzcnt: 0000000000400580 <lzcnt>: 400580: 55 push %rbp 400581: 48 89 e5 mov %rsp,%rbp 400584: 48 89 7d e8 mov %rdi,-0x18(%rbp) 400588: 48 8b 45 e8 mov -0x18(%rbp),%rax 40058c: 48 89 45 f8 mov %rax,-0x8(%rbp) 400590: f3 48 0f bd 45 f8 lzcnt -0x8(%rbp),%rax 400596: 48 98 cltq 400598: 5d pop %rbp 400599: c3 retq Without -mlzcnt: 0000000000400580 <lzcnt>: 400580: 55 push %rbp 400581: 48 89 e5 mov %rsp,%rbp 400584: 48 89 7d e8 mov %rdi,-0x18(%rbp) 400588: 48 8b 45 e8 mov -0x18(%rbp),%rax 40058c: 48 89 45 f8 mov %rax,-0x8(%rbp) 400590: 48 0f bd 45 f8 bsr -0x8(%rbp),%rax 400595: 48 83 f0 3f xor $0x3f,%rax 400599: 48 98 cltq 40059b: 5d pop %rbp 40059c: c3 retq