Almost all drivers will convert to triangles anyways.

They

have to be split into two triangles. It's possible to construct a non-planar quad that isn't even flat, and together with the limited precision of floating point positions it's pretty safe to assume that the 4 vertices won't lie exactly on the same plane after perspective transformation (I'm talking 3D here). Plus, hardware interpolators only interpolate vertex attributes between the 3 corners of a triangle.

To draw quads use indexed rendering. Use 4 vertices and 6 indices to form 2 triangles using the 4 vertices. That's what OpenGL does when you render a quad with GL_QUADS under the hood anyway so performance is identical to using GL_QUADS. Quads are also not supported at all on OpenGL ES so it's a good idea to avoid quads if you have any plan at all to develop for OpenGL 3+ or OpenGL ES.