Switzerland stun France, Spain through to last eight