Ah. I realize it's most likely for testing sibcall_[value]_pop_memory peepholes, right? In which case the testcase might look like this:
/* { dg-do compile } */ /* { dg-options "-O2" } */ void foo (int a, void (**doo1) (void), void (**doo2) (void)) { char s[16] = {0}; do s[a] = 1; while (a &= a-1); (*(s[8] ? doo1 : doo2)) (); } /* { dg-final { scan-assembler-not "call" } } */ However on the above testcase memory-indirect jump is currently generated only for 64-bit x86. With -mx32 it's impossible, but with -m32 the peephole doesn't match. Is that expected? Can you also tell me why ..._pop call and sibcall instructions are predicated on !TARGET_64BIT? Thanks. Alexander