anchor.diff:  	    %% tucked away in a y register.
   	    RegList = btb_context_regs(Regs),
   	    YRegs = [R || {y,_}=R <- RegList],
  -	    case btb_are_all_killed(YRegs, Is, D) of
  +	    case btb_are_all_unused(YRegs, Is, D) of
   		true -> D;
   		false -> btb_error({multiple_uses,RegList})
   	    end;
  
positive.code: 	    btb_reaches_match_1(Is, Regs0, D);
  	true ->
  	    %% Check that all other copies of the context registers
  	    %% are killed by the following instructions.
  	    Regs = btb_kill([Src], Regs0),
  	    CtxRegs = btb_context_regs(Regs),
  	    case btb_are_all_killed(CtxRegs, Is, D) of
  		false -> btb_error({CtxRegs,not_all_killed_after,I});
  		true -> D#btb{must_not_save=true}
  	    end
      end;
  
negative.code: 	    btb_reaches_match_1(Is, Regs0, D);
  	true ->
  	    %% Check that all other copies of the context registers
  	    %% are unused by the following instructions.
  	    Regs = btb_kill([Src], Regs0),
  	    CtxRegs = btb_context_regs(Regs),
  	    case btb_are_all_unused(CtxRegs, Is, D) of
  		false -> btb_error({CtxRegs,not_all_unused_after,I});
  		true -> D#btb{must_not_save=true}
  	    end
      end;
  