[compiler-rt] [AArch64][SME] Rewrite __arm_sc_memset to remove invalid instruction (PR #101522)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 1 15:57:24 PDT 2024


================
@@ -252,7 +252,29 @@ DEFINE_COMPILERRT_FUNCTION_ALIAS(__arm_sc_memmove, __arm_sc_memcpy)
 #define zva_val  x5
 
 DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(__arm_sc_memset)
-        dup     v0.16B, valw
+#  ifdef __ARM_FEATURE_SVE
+        mov     z0.b, valw
+#  else
+        sub     sp, sp, #16
----------------
efriedma-quic wrote:

```
bfi valw, valw, #8, #8
bfi valw, valw, #16, #16
bfi val, val, #32, #32
fmov d0, val
fmov v0.d[1], val
```

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


More information about the llvm-commits mailing list