anchor.diff:  		 hipe_rtl:mk_alu(ByteSize, Offset, 'srl', ?BYTE_SHIFT),
   		 hipe_tagscheme:mk_sub_binary(DstVar, ByteSize,
   					      Zero, BitSize, Zero, Src),
  -		 hipe_rtl:mk_goto(TrueLblName)]; 
  +		 hipe_rtl:mk_goto(TrueLblName)];
   	      [] ->
  -		[hipe_rtl:mk_goto(TrueLblName)] 
  -	    end; 
  -	  
  +		[hipe_rtl:mk_goto(TrueLblName)]
  +	    end;
  +
   	  bs_init_writable ->
   	    Zero = hipe_rtl:mk_imm(0),
   	    [Size] = Args,
  
positive.code:    hipe_rtl:mk_goto(TrueLblName)].
  
  var_init_bits(Size, Dst, Base, Offset, TrueLblName, SystemLimitLblName, FalseLblName) ->
    [HeapLbl,REFCLbl,NextLbl,NoSubLbl,SubLbl,
     NoCreateSubBin, CreateSubBin, JoinLbl, JoinLbl2] = create_lbls(9),
    [USize,ByteSize,TotByteSize,OffsetBits] = create_regs(4),
    [TmpDst] = create_unsafe_regs(1),
    Log2WordSize = hipe_rtl_arch:log2_word_size(),
    WordSize = hipe_rtl_arch:word_size(),
    MaximumWords = 
      erlang:max((?MAX_HEAP_BIN_SIZE + 3*WordSize) bsr Log2WordSize,
  	       ?PROC_BIN_WORDSIZE) + ?SUB_BIN_WORDSIZE,
    Zero = hipe_rtl:mk_imm(0),
    [hipe_rtl:mk_gctest(MaximumWords),
     get_word_integer(Size, USize, SystemLimitLblName, FalseLblName),
     hipe_rtl:mk_alu(ByteSize, USize, srl, ?BYTE_SHIFT),
     hipe_rtl:mk_alub(OffsetBits, USize, 'and', ?LOW_BITS, eq, 
  		    hipe_rtl:label_name(NoSubLbl),
  		    hipe_rtl:label_name(SubLbl)),
     NoSubLbl,
  
negative.code:    hipe_rtl:mk_goto(TrueLblName)].
  
  put_binary_all(NewOffset, Src, Base, Offset, Unit, TLName, FLName) ->
    [SrcBase, SrcOffset, NumBits] = create_regs(3),
    [ContLbl] = create_lbls(1),
    CCode = binary_c_code(NewOffset, Src, Base, Offset, NumBits, TLName),
    AlignedCode = copy_aligned_bytes(SrcBase, SrcOffset, NumBits, Base, Offset,
  				   NewOffset, TLName),
    [get_base_offset_size(Src, SrcBase, SrcOffset, NumBits,FLName),
     is_divisible(NumBits, Unit, hipe_rtl:label_name(ContLbl), FLName),
  