anchor.diff:  	    end;
   
   	  {unsafe_bs_put_integer, Size, Flags, ConstInfo} ->
  -	     case is_illegal_const(Size) of
  -	      true ->
  -		[hipe_rtl:mk_goto(FalseLblName)];
  -	      false ->
  -		 Aligned = aligned(Flags),
  -		 LittleEndian = littleendian(Flags),
  -		 [NewOffset] = get_real(Dst),
  -		 case ConstInfo of
  -		   fail ->
  -		     [hipe_rtl:mk_goto(FalseLblName)];
  -		   _ ->
  -		     case Args of
  -		       [Src, Base, Offset] ->
  -			 CCode = static_int_c_code(NewOffset, Src,
  -						   Base, Offset, Size,
  -						   Flags, TrueLblName,
  -						   FalseLblName),
  -			 put_unsafe_static_int(NewOffset, Src, Base,
  -					       Offset, Size,
  -					       CCode, Aligned, LittleEndian,
  -					       TrueLblName);
  -		       [Src, Bits, Base, Offset] ->
  -			 {SizeCode, SizeReg} =
  -			   hipe_rtl_binary:make_size(Size, Bits,
  -						     SystemLimitLblName,
  -						     FalseLblName),
  -			 CCode = int_c_code(NewOffset, Src, Base,
  -					    Offset, SizeReg, Flags,
  -					    TrueLblName, FalseLblName),
  -			 InCode =
  -			   put_unsafe_dynamic_int(NewOffset, Src, Base,
  -						  Offset, SizeReg, CCode,
  -						  Aligned, LittleEndian,
  -						  TrueLblName),
  -			 SizeCode ++ InCode
  -		     end
  -		 end
  -	     end;
  +	    do_bs_put_integer(Dst, Args, Size, Flags, ConstInfo, true,
  +			      TrueLblName, FalseLblName, SystemLimitLblName);
  +
  +	  {bs_put_integer, Size, Flags, ConstInfo} ->
  +	    do_bs_put_integer(Dst, Args, Size, Flags, ConstInfo, false,
  +			      TrueLblName, FalseLblName, SystemLimitLblName);
   
   	  bs_utf8_size ->
   	    case Dst of
  
positive.code:   CCode.
  
  put_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, 
  	       LittleEndian, TrueLblName) ->
    {Init, End, UntaggedSrc} = make_init_end(Src, CCode, TrueLblName),
    case {Aligned, LittleEndian} of
      {true, true} ->
        Init ++
  
negative.code: 	End
    end.
  
  put_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, 
  		LittleEndian, SrcUnsafe, TrueLblName) ->
    {Init, End, UntaggedSrc} = make_init_end(Src, CCode, SrcUnsafe, TrueLblName),
    case Aligned of
      true ->
        case LittleEndian of
  