On Sat, Nov 15, 2014 at 12:22 PM, FX <fxcoud...@gmail.com> wrote: >> This looks wrong. This test should pass for 64-bit or ia32 && nonpic. > > It was Kai’s original testcase, so I don’t want to modify it too much, other > than make it skip where it clearly fails. >
Original bug report was filed against x86-64: The attached testcase is a greatly reduced interpreter loop, containing a simple load and indirect branch: goto *addresses[*pc++] gcc 4.8.2 (as well as older versions) with -O2 produces the following x86-64 output: movq addresses.1721(,%rax,8), %rax jmp *%rax Since the loaded value is not used after the branch, there's no need to hold it in a register, so the load could be folded into the branch. This would improve code size and instruction count. Add a testcase only for ia32 makes no senses at all. H.J. -- H.J.