[PATCH] D99244: [X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation

Bing Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 28 22:19:49 PDT 2021


yubing added inline comments.


================
Comment at: llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:357
 
-  if (IntrID == Intrinsic::x86_tdpbssd_internal) {
+  if constexpr (IntrID != Intrinsic::x86_tdpbf16ps_internal) {
     // tiledpbssd.scalarize.inner.body:
----------------
pengfei wrote:
> What's this used for? Would it fails when some buildbot only has lower C++ libraries?
Ah, you are right. llvm should be built with gcc>=5.1 but if constexpr is not supported in gcc5.1
https://llvm.org/docs/GettingStarted.html
I will delete "constexpr".


================
Comment at: llvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll:409
+; CHECK-NEXT:    br label [[TILEDPBF16PS_SCALARIZE_ROWS_HEADER:%.*]]
+; CHECK:       tiledpbf16ps.scalarize.rows.header:
+; CHECK-NEXT:    [[TILEDPBF16PS_SCALARIZE_ROWS_IV:%.*]] = phi i16 [ 0, [[ENTRY:%.*]] ], [ [[TILEDPBF16PS_SCALARIZE_ROWS_STEP:%.*]], [[TILEDPBF16PS_SCALARIZE_ROWS_LATCH:%.*]] ]
----------------
pengfei wrote:
> This change doesn't seem affected by this patch. Do you know which one affects it? Why it still passes without this change?
In fact, the bb's name is not aligned with tiledpbssd. So I changed it to tiledpbf16ps.
You can see it in line255 llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99244/new/

https://reviews.llvm.org/D99244



More information about the llvm-commits mailing list