]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Integrate BFmode for Enhanced Vectorization in ix86_preferred_simd_mode
authorLevy Hsu <admin@levyhsu.com>
Tue, 3 Sep 2024 06:14:06 +0000 (15:44 +0930)
committerLevy Hsu <admin@levyhsu.com>
Thu, 5 Sep 2024 01:34:05 +0000 (01:34 +0000)
This change adds BFmode support to the ix86_preferred_simd_mode function
enhancing SIMD vectorization for BF16 operations. The update ensures
optimized usage of SIMD capabilities improving performance and aligning
vector sizes with processor capabilities.

gcc/ChangeLog:

* config/i386/i386.cc (ix86_preferred_simd_mode): Add BFmode Support.

gcc/config/i386/i386.cc

index e8744fa77eadfb0d677e4e790f8ef5c89358a575..c18a2647c2a4da5c6667cc16a37bd577d4f956f6 100644 (file)
@@ -24574,6 +24574,14 @@ ix86_preferred_simd_mode (scalar_mode mode)
        }
       return word_mode;
 
+    case E_BFmode:
+      if (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)
+       return V32BFmode;
+      else if (TARGET_AVX && !TARGET_PREFER_AVX128)
+       return V16BFmode;
+      else
+       return V8BFmode;
+
     case E_SFmode:
       if (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256)
        return V16SFmode;