anchor.diff:  	       end
   	   end;
   
  -	  {bs_put_integer, Size, Flags, ConstInfo} ->
  -	    Aligned = aligned(Flags),
  -	    LittleEndian = littleendian(Flags),
  -	    [NewOffset] = get_real(Dst),
  -	    case is_illegal_const(Size) of
  -	      true ->
  -		[hipe_rtl:mk_goto(FalseLblName)];
  -	      false ->
  -		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, 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, TrueLblName),
  -			SizeCode ++ InCode
  -		    end
  -		end
  -	    end;
  -
   	  {unsafe_bs_put_integer, 0, _Flags, _ConstInfo} ->
   	    [NewOffset] = get_real(Dst),
   	    case Args of
  
positive.code: 	  SuccessLbl,
  	  hipe_tagscheme:untag_fixnum(UntaggedSrc,Src)],
    End = [hipe_rtl:mk_goto(TrueLblName), CLbl| CCode],
    {Init, End, UntaggedSrc}.
  
  make_init_end(Src, TrueLblName) ->
    [UntaggedSrc] = create_regs(1),
    Init = [hipe_tagscheme:untag_fixnum(UntaggedSrc,Src)],
    End = [hipe_rtl:mk_goto(TrueLblName)],
  
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 ++
  