I noticed something about the routines DGGHRD and DGGHD3. They both reduce a pencil to Hessenberg triangular form for use in the QZ algorithm, with DGGHD3 being the blocked version.
When linked with the reference LAPACK or with OpenBLAS, DGGHD3 is faster than DHHGRD. However, when the test program is linked with MKL, DGGHD3 loses its speed advantage. I also don't see any multicore usage in that routine when linked with MKL. Is it possible that the blocked version is not (fully) implemented in MKL?