anchor.diff:  			       TrueLblName, FalseLblName)]
   	end,
         {Code, ConstTab}
  +  end.
  +
  +%% Common implementation of bs_put_integer and unsafe_bs_put_integer
  +do_bs_put_integer(Dst, Args, Size, Flags, ConstInfo, SrcUnsafe,
  +		  TrueLblName, FalseLblName, SystemLimitLblName) ->
  +  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_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned,
  +			     LittleEndian, SrcUnsafe, 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_dynamic_int(NewOffset, Src, Base, Offset, SizeReg,
  +				       CCode, Aligned, LittleEndian, SrcUnsafe,
  +				       TrueLblName),
  +	      SizeCode ++ InCode
  +	  end
  +      end
     end.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code:       CCode
    end.
  
  put_unsafe_dynamic_int(NewOffset, Src, Base, Offset, SizeReg, CCode, Aligned, 
  		       LittleEndian, TrueLblName) ->
    {Init, End, UntaggedSrc} = make_init_end(Src, TrueLblName),
    case Aligned of
      true ->
        case LittleEndian of
  	true ->
  	  Init ++
  	    copy_int_little(Base, Offset, NewOffset, SizeReg, UntaggedSrc) ++
  	    End;
  	false ->
  	  Init ++
  	    copy_int_big(Base, Offset, NewOffset, SizeReg, UntaggedSrc) ++
  	    End
  	end;
      false ->
        CCode
    end.
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%
  %% Help functions used by the above
  %%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  make_init_end(Src, CCode, TrueLblName) ->
    [CLbl, SuccessLbl] = create_lbls(2),
    [UntaggedSrc] = create_regs(1),
    Init = [hipe_tagscheme:test_fixnum(Src, hipe_rtl:label_name(SuccessLbl),
  
negative.code:   CCode.
  
  put_static_int(NewOffset, Src, Base, Offset, Size, CCode, Aligned, 
  	       LittleEndian, SrcUnsafe, TrueLblName) ->
    {Init, End, UntaggedSrc} = make_init_end(Src, CCode, SrcUnsafe, TrueLblName),
    case {Aligned, LittleEndian} of
      {true, true} ->
        Init ++
  