hipe: Fix binary constructions failing with badarith
hipe: Fix binary constructions failing with badarith

Expressions like <<0:(fun(X)->X end(anka))>> would fail with 'badarith'
in HiPE, but 'badarg' in BEAM.

hipe_beam_to_icode was attempting to optimise the amount of code
generated by letting the arithmetic error propagate instead of
catching it. However, since it was emitting a block to throw 'badarg' in
that case anyway, we can just reuse it to achieve just as compact code
that behaves exactly like BEAM.

kvakvs/otp,mikpe/otp,bsmr-erlang/otp,saleyn/otp,ahmedshafeeq/otp,jj1bdx/otp,kvakvs/otp,kvakvs/otp,uabboli/otp,jj1bdx/otp,electricimp/otp,uabboli/otp,bjorng/otp,basho/otp,falkevik/otp,bjorng/otp,isvilen/otp,RoadRunnr/otp,mikpe/otp,emacsmirror/erlang,dgud/otp,lrascao/otp,isvilen/otp,emile/otp,hairyhum/otp,RoadRunnr/otp,saleyn/otp,lemenkov/otp,potatosalad/otp,msantos/otp,vladdu/otp,vinoski/otp,weisslj/otp,bugs-erlang-org/otp,basho/otp,psyeugenic/otp,uabboli/otp,rlipscombe/otp,getong/otp,lrascao/otp,RaimoNiskanen/otp,dumbbell/otp,bsmr-erlang/otp,tuncer/otp,msantos/otp,cobusc/otp,erlang/otp,uabboli/otp,hairyhum/otp,legoscia/otp,RoadRunnr/otp,msantos/otp,rlipscombe/otp,RoadRunnr/otp,weisslj/otp,massemanet/otp,jj1bdx/otp,lrascao/otp,bugs-erlang-org/otp,derek121/otp,massemanet/otp,tuncer/otp,johanclaesson/otp,bugs-erlang-org/otp,getong/otp,dumbbell/otp,bsmr-erlang/otp,release-project/otp,bjorng/otp,massemanet/otp,dumbbell/otp,isvilen/otp,potatosalad/otp,goertzenator/otp,bjorng/otp,electricimp/otp,dumbbell/otp,electricimp/otp,vladdu/otp,neeraj9/otp,bernardd/otp,vinoski/otp,neeraj9/otp,bsmr-erlang/otp,emile/otp,psyeugenic/otp,dgud/otp,goertzenator/otp,getong/otp,derek121/otp,isvilen/otp,bernardd/otp,weisslj/otp,falkevik/otp,vladdu/otp,fenollp/otp,lrascao/otp,electricimp/otp,dgud/otp,fenollp/otp,weisslj/otp,emile/otp,psyeugenic/otp,ahmedshafeeq/otp,matwey/otp,hairyhum/otp,lrascao/otp,tuncer/otp,g-andrade/otp,falkevik/otp,ahmedshafeeq/otp,getong/otp,fenollp/otp,getong/otp,g-andrade/otp,neeraj9/otp,ahmedshafeeq/otp,ferd/otp,emacsmirror/erlang,bugs-erlang-org/otp,massemanet/otp,fenollp/otp,aboroska/otp,bjorng/otp,lemenkov/otp,ahmedshafeeq/otp,mikpe/otp,getong/otp,matwey/otp,electricimp/otp,mikpe/otp,jj1bdx/otp,isvilen/otp,goertzenator/otp,jj1bdx/otp,saleyn/otp,massemanet/otp,fenollp/otp,emacsmirror/erlang,dumbbell/otp,bugs-erlang-org/otp,tuncer/otp,rlipscombe/otp,neeraj9/otp,g-andrade/otp,vinoski/otp,potatosalad/otp,basho/otp,weisslj/otp,legoscia/otp,potatosalad/otp,neeraj9/otp,matwey/otp,goertzenator/otp,mikpe/otp,lrascao/otp,saleyn/otp,RoadRunnr/otp,RaimoNiskanen/otp,bernardd/otp,ferd/otp,matwey/otp,massemanet/otp,RoadRunnr/otp,aboroska/otp,psyeugenic/otp,emile/otp,vladdu/otp,msantos/otp,mikpe/otp,ahmedshafeeq/otp,tuncer/otp,johanclaesson/otp,fenollp/otp,emile/otp,emile/otp,massemanet/otp,emile/otp,bugs-erlang-org/otp,lightcyphers/otp,getong/otp,lightcyphers/otp,aboroska/otp,emile/otp,kvakvs/otp,neeraj9/otp,emacsmirror/erlang,RaimoNiskanen/otp,dgud/otp,saleyn/otp,jj1bdx/otp,matwey/otp,release-project/otp,vinoski/otp,emacsmirror/erlang,bsmr-erlang/otp,derek121/otp,johanclaesson/otp,ahmedshafeeq/otp,ferd/otp,matwey/otp,lrascao/otp,kvakvs/otp,dgud/otp,aboroska/otp,aboroska/otp,ahmedshafeeq/otp,falkevik/otp,saleyn/otp,falkevik/otp,release-project/otp,RaimoNiskanen/otp,basho/otp,falkevik/otp,RaimoNiskanen/otp,tuncer/otp,dumbbell/otp,lemenkov/otp,johanclaesson/otp,isvilen/otp,lightcyphers/otp,weisslj/otp,goertzenator/otp,legoscia/otp,aboroska/otp,msantos/otp,rlipscombe/otp,jj1bdx/otp,basho/otp,getong/otp,vladdu/otp,RoadRunnr/otp,lightcyphers/otp,tuncer/otp,ferd/otp,g-andrade/otp,bsmr-erlang/otp,release-project/otp,potatosalad/otp,goertzenator/otp,lemenkov/otp,saleyn/otp,legoscia/otp,ahmedshafeeq/otp,getong/otp,RoadRunnr/otp,erlang/otp,ferd/otp,mikpe/otp,massemanet/otp,bernardd/otp,msantos/otp,vinoski/otp,derek121/otp,potatosalad/otp,hairyhum/otp,weisslj/otp,fenollp/otp,electricimp/otp,vladdu/otp,lrascao/otp,legoscia/otp,lightcyphers/otp,jj1bdx/otp,legoscia/otp,bernardd/otp,matwey/otp,erlang/otp,goertzenator/otp,erlang/otp,basho/otp,goertzenator/otp,basho/otp,potatosalad/otp,bugs-erlang-org/otp,neeraj9/otp,rlipscombe/otp,dgud/otp,isvilen/otp,dgud/otp,uabboli/otp,ferd/otp,lemenkov/otp,neeraj9/otp,RaimoNiskanen/otp,matwey/otp,bjorng/otp,isvilen/otp,fenollp/otp,johanclaesson/otp,release-project/otp,potatosalad/otp,johanclaesson/otp,erlang/otp,emile/otp,tuncer/otp,cobusc/otp,bsmr-erlang/otp,uabboli/otp,vinoski/otp,kvakvs/otp,ferd/otp,basho/otp,lightcyphers/otp,erlang/otp,g-andrade/otp,emacsmirror/erlang,lemenkov/otp,bjorng/otp,RaimoNiskanen/otp,matwey/otp,lightcyphers/otp,bernardd/otp,saleyn/otp,rlipscombe/otp,isvilen/otp,goertzenator/otp,hairyhum/otp,dgud/otp,jj1bdx/otp,legoscia/otp,vinoski/otp,vladdu/otp,potatosalad/otp,uabboli/otp,cobusc/otp,kvakvs/otp,hairyhum/otp,msantos/otp,psyeugenic/otp,electricimp/otp,RaimoNiskanen/otp,rlipscombe/otp,erlang/otp,electricimp/otp,emacsmirror/erlang,tuncer/otp,RaimoNiskanen/otp,bjorng/otp,massemanet/otp,electricimp/otp,weisslj/otp,bernardd/otp,dumbbell/otp,bsmr-erlang/otp,vinoski/otp,lrascao/otp,derek121/otp,dumbbell/otp,release-project/otp,mikpe/otp,mikpe/otp,psyeugenic/otp,lightcyphers/otp,emacsmirror/erlang,jj1bdx/otp,aboroska/otp,cobusc/otp,cobusc/otp,weisslj/otp,emacsmirror/erlang,RoadRunnr/otp,msantos/otp,mikpe/otp,hairyhum/otp,fenollp/otp,dumbbell/otp,psyeugenic/otp,legoscia/otp,legoscia/otp,johanclaesson/otp,cobusc/otp,dgud/otp,getong/otp,release-project/otp,lemenkov/otp,falkevik/otp,release-project/otp,dumbbell/otp,potatosalad/otp,ferd/otp,hairyhum/otp,psyeugenic/otp,johanclaesson/otp,bsmr-erlang/otp,dgud/otp,uabboli/otp,lemenkov/otp,erlang/otp,g-andrade/otp,rlipscombe/otp,falkevik/otp,bernardd/otp,g-andrade/otp,bernardd/otp,ferd/otp,emacsmirror/erlang,bjorng/otp,vladdu/otp,vladdu/otp,g-andrade/otp,g-andrade/otp,kvakvs/otp,uabboli/otp,aboroska/otp,rlipscombe/otp,derek121/otp,cobusc/otp,derek121/otp,bjorng/otp,saleyn/otp,rlipscombe/otp,vinoski/otp,vinoski/otp,aboroska/otp,kvakvs/otp,g-andrade/otp,bugs-erlang-org/otp,falkevik/otp,basho/otp,cobusc/otp,release-project/otp,erlang/otp,erlang/otp,derek121/otp,isvilen/otp