================
@@ -164,6 +164,9 @@ bool X86TargetInfo::initFeatureMap(
     for (const char *Sub :
          {"egpr", "push2pop2", "ppx", "ndd", "ccmp", "nf", "zu", "jmpabs"})
       setFeatureEnabled(Features, Sub, true);
+    // APX (EVEX) implies AVX-512, and WinCall expects every instruction to be
+    // EVEX-encoded so that no vzeroupper is needed at WinCall boundaries.
+    setFeatureEnabled(Features, "avx512f", true);
----------------
trcrsired wrote:

"What do you think about pass i128/i256/i512 (_BitInt) arguments via 
XMM/YMM/ZMM?"

Very bad. we should avoid floating point registers as much as possible. Many 
kernels have strict rules on banning floating point registers. Plus fp 
registers can have latency issues and others. Just use GPRs when we can.

https://github.com/llvm/llvm-project/pull/215585
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to