From: Dave V. <va...@us...> - 2013-03-03 18:54:50
|
On Sun, Mar 3, 2013 at 11:40 AM, Dave Vasilevsky <va...@us...> wrote: > So maybe it has something to do with newer versions of GCC? My hunch was right! Compiling with GCC 4.5 and earlier works, but with GCC 4.6 and later does not. I did some bisecting, and relevant difference looks like it's in ppc-dyngen-ops.cpp's op_jump_next_A0(). For the last part of that function, GCC 4.5 generates: cmpq (%rax), %rdx jne .L756 .L755: jmp *112(%rax) .L756: .p2align 4,,7 ret .cfi_endproc While GCC 4.6 generates: cmpq (%rax), %rdx je .L755 .L756: ret .L755: .p2align 4,,8 jmp *112(%rax) .cfi_endproc It looks like this should have identical effects, but it apparently makes a difference. Any ideas what's going on? -Dave |