This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/33138] [4.3 Regression] rejects valid? assembler, segfaults
- From: "tbm at cyrius dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Aug 2007 15:32:46 -0000
- Subject: [Bug target/33138] [4.3 Regression] rejects valid? assembler, segfaults
- References: <bug-33138-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from tbm at cyrius dot com 2007-08-21 15:32 -------
typedef unsigned long int word64;
extern word64 tiger_table[4 * 256];
tiger_compress (word64 * str, word64 state[3])
{
{
register word64 a, b, c;
word64 aa, bb, cc;
word64 x0, x1, x2, x3, x4, x5, x6, x7;
b = ((word64 *) state)[1];
bb = b;
cc = c;
__asm__ (" movl %10, %%ebx \n" " movq %11, %%rcx \n" "
movq %13, %%rdx \n" " movq %6, %%r8 \n" " xorq %%r8, %2
\n" " andq %2, %%rbx \n" " andq %2, %%rcx \n" "
andq %2, %%rdx \n" " shrl $(16-3), %%ebx \n" " shrq $(32-3),
%%rcx \n" " shrq $(48-3), %%rdx \n" " movzbl %2b, %%eax \n" "
movzwl %2w, %
%edi \n" " movq (%7,%%rax,8), %%rsi \n" " shrl $(8), %%edi
\n" " movq %2, %%
rax \n" " xorq (2048*1)(%7,%%rbx), %%rsi \n" " movq %2,
%%rbx \n" " shrl $24, %%eax \n" " andq %12, %%rbx \n" " xorq
(2048*2)(%7,%%rcx), %%rsi \n" " shrq $(40-3), %%rbx \n" " movq
%2, %%rcx \n" " xorq (2048*3)(%7,%%rdx), %%rsi \n"
" movq (2048*3)(%7,%%rdi,8), %%rdx \n" " shrq $56, %%rcx \n"
" xorq (2048*
2)(%7,%%rax,8), %%rdx \n" " xorq (2048*1)(%7,%%rbx), %%rdx \n" "
subq %%rsi, %0 \n"
" xorq (%7,%%rcx,8), %%rdx \n" " addq %%rdx, %1 \n" "leaq
(%1,%1,8), %1\n": "+r"
(c), "+r" (a), "+r" (b): "r" (c), "r" (a), "r" (b), "m" (x7), "r"
(&tiger_table), "i" (0xFFL), "i" (0
xFF00L), "i" (0xFF0000L), "r" (0xFF00000000LL), "r" (0xFF0000000000LL), "r"
(0xFF000000000000LL):"3",
"%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%edi",
"%r8");
{
}
b -= bb;
c += cc;
((word64 *) state)[1] = b;
((word64 *) state)[2] = c;
};
}
tiger_t (word64 * str, word64 length, word64 res[3])
{
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33138