> For a really overenginered solution, but which might perform unnecessary > poorly on existing hardware: > > asm volatile("1: .byte 0xf, 0x1, 0xe8; 2:" > _ASM_EXTABLE(1b,2b));
You win the prize for the smallest code. Might need (the already large) comment to double in size to explain the subtleties! -Tony