[Bug target/53110] GCC-4.7 generates stupid x86_64 asm
markus at trippelsdorf dot de
gcc-bugzilla@gcc.gnu.org
Wed Apr 25 11:24:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53110
Markus Trippelsdorf <markus at trippelsdorf dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |markus at trippelsdorf dot
| |de
--- Comment #3 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-04-25 11:23:59 UTC ---
For comparison this is what clang generates:
.file "gcc-bug.c"
.text
.globl mult_u128
.align 16, 0x90
.type mult_u128,@function
mult_u128: # @mult_u128
.cfi_startproc
# BB#0:
movabsq $-4294967296, %rdx # imm = 0xFFFFFFFF00000000
andq %rdi, %rdx
movl %esi, %ecx
movq %rdi, %rax
shrq $32, %rax
shrq $32, %rsi
imulq %rsi, %rax
imulq %rcx, %rdx
imull %edi, %esi
shlq $32, %rsi
addq %rdx, %rsi
adcq $0, %rax
movl %edi, %edx
imulq %rcx, %rdx
addq %rsi, %rdx
adcq $0, %rax
ret
.Ltmp0:
.size mult_u128, .Ltmp0-mult_u128
.cfi_endproc
.section ".note.GNU-stack","",@progbits
More information about the Gcc-bugs
mailing list