https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127743
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
As expected, -O2 -fno-ext-dce creates flawless code:
movzwl 2(%rdx), %ebx # 148 [c=6 l=4] *movhf_internal/2
cmpq %r12, %r15 # 149 [c=4 l=3] *cmpdi_1/0
je .L13 # 150 [c=12 l=2] *jcc
movzwl %bx, %ebx # 159 [c=4 l=3] *zero_extendhisi2/0
addq $4, %r15 # 161 [c=4 l=4] *adddi_1/1
movl %ebx, -4(%r15) # 160 [c=4 l=4] *movv2hf_internal/1
movq %r15, 8(%rbp) # 162 [c=4 l=4] *movdi_internal/5
