Well, shl doesn&#x27;t trap on x86 for out of range values; it just masks the second operand by 0x1f [1]. But it could be some other kind of trap.<p>Complete guess in the dark: tcc misencoded an instruction causing an illegal instruction trap, maybe in some sort of misguided attempt to optimize the shift to a lea.<p>[1]: <a href="http:&#x2F;&#x2F;x86.renejeschke.de&#x2F;html&#x2F;file_module_x86_id_285.html" rel="nofollow">http:&#x2F;&#x2F;x86.renejeschke.de&#x2F;html&#x2F;file_module_x86_id_285.html</a>