Hi etairi,
are you sure that it is GAS code? That should look similar to this:
movl %eax, %eax
movq %rax, %rdx
movl $0, %ecx
movl $4096, %eax
movl %eax, %eax
salq $2, %rax
leaq 31(%rax), %rdx
movl $16, %eax
subq $1, %rax
addq %rdx, %rax
movl $16, %ecx
movl $0, %edx
divq %rcx
imulq $16, %rax, %rax
Your code looks like NASM code. Moreover, I can only emphasize what Jochen has already said. Good luck for you.
Gunther