[llvm] [AMDGPU] Use fake16 load/store with +real-true16 and sram-ecc (PR #161256)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 3 02:47:37 PDT 2025


================
@@ -2597,6 +2597,10 @@ def UseFakeTrue16Insts : True16PredicateClass<"Subtarget->hasTrue16BitInsts() &&
   // FIXME When we default to RealTrue16 instead of Fake, change the line as follows.
   // AssemblerPredicate<(all_of FeatureTrue16BitInsts, (not FeatureRealTrue16Insts))>;
 
+def UseLoadTrue16WithSramECC : True16PredicateClass<"Subtarget->useRealTrue16Insts() && "
+                                                    "!Subtarget->d16PreservesUnusedBits()">,
+  AssemblerPredicate<(all_of FeatureTrue16BitInsts, FeatureSRAMECC)>;
----------------
jayfoad wrote:

It's not clear to me that this AssemblerPredicate expression matches the C++ expression above. But, if this predicate is only used for patterns (not for instruction definitions) then I guess you don't need the AssemblerPredicate part anyway?

https://github.com/llvm/llvm-project/pull/161256


More information about the llvm-commits mailing list