Workaround an ICE in clang 9.0.0
authorIsuru Fernando <isuruf@gmail.com>
Sun, 1 Dec 2019 17:55:49 +0000 (11:55 -0600)
committerIsuru Fernando <isuruf@gmail.com>
Sun, 1 Dec 2019 18:59:46 +0000 (12:59 -0600)
This bug is not there in 8.x nor in the 9.0 daily snapshot.

kernel/x86_64/dsymv_L_microk_skylakex-2.c

index 8244dff..bdcd914 100644 (file)
@@ -33,6 +33,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #define HAVE_KERNEL_4x4 1
 
+#if defined(__clang_patchlevel__) && __clang_major__ == 9 && __clang_minor__ == 0 && __clang_patchlevel__ == 0
+#pragma clang optimize off
+#endif
+
 static void dsymv_kernel_4x4(BLASLONG from, BLASLONG to, FLOAT **a, FLOAT *x, FLOAT *y, FLOAT *temp1, FLOAT *temp2)
 {
 
@@ -155,7 +159,12 @@ static void dsymv_kernel_4x4(BLASLONG from, BLASLONG to, FLOAT **a, FLOAT *x, FL
        temp2[1] += half_accum1[0];
        temp2[2] += half_accum2[0];
        temp2[3] += half_accum3[0];
-} 
+}
+
+#if defined(__clang_patchlevel__) && __clang_major__ == 9 && __clang_minor__ == 0 && __clang_patchlevel__ == 0
+#pragma clang optimize on
+#endif
+
 #else
 #include "dsymv_L_microk_haswell-2.c"
-#endif
\ No newline at end of file
+#endif