Borna Coric has thwarted Roger Federer's campaign for a 99th career title for the second successive meeting as the Croatian triumphed 6-4, 6-4 in the semi-finals.