[llvm] [Xtensa] Implement Xtensa S32C1I Option and atomics lowering. (PR #137134)

Andrei Safronov via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 5 14:08:14 PDT 2025


================
@@ -175,6 +175,40 @@ XtensaTargetLowering::XtensaTargetLowering(const TargetMachine &TM,
   setOperationAction(ISD::VACOPY, MVT::Other, Custom);
   setOperationAction(ISD::VAEND, MVT::Other, Expand);
 
+    // to have the best chance and doing something good with fences custom lower
+  // them
+  setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom);
+
+  if (!Subtarget.hasS32C1I()) {
+    for (unsigned I = MVT::FIRST_INTEGER_VALUETYPE;
+         I <= MVT::LAST_INTEGER_VALUETYPE; ++I) {
+      MVT VT = MVT::SimpleValueType(I);
+      if (isTypeLegal(VT)) {
----------------
andreisfr wrote:

Thank you very much for review. I'm sorry for delay, this PRs was blocked by other PRs and tasks. I refactored most of the code code according your suggestions and remove this initialization. 

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


More information about the llvm-commits mailing list