[llvm] [aarch64] Fix Arm64EC libcall lowering after recent refactoring. (PR #143977)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 12 17:23:08 PDT 2025


================
@@ -0,0 +1,31 @@
+; RUN: llc -mtriple=arm64ec-pc-windows-msvc < %s | FileCheck %s
+
+define void @f1(ptr %p, i64 %n) {
+; CHECK-LABEL: "#f1":
+; CHECK: bl "#memset"
+  call void @llvm.memset.p0.i64(ptr %p, i8 0, i64 %n, i1 false)
+  ret void
+}
+
+define void @f2(ptr %p1, ptr %p2, i64 %n) {
+; CHECK-LABEL: "#f2":
+; CHECK: bl "#memcpy"
+  call void @llvm.memcpy.p0.i64(ptr %p1, ptr %p2, i64 %n, i1 false)
+  ret void
+}
+
+define double @f3(double %x, double %y) {
+; CHECK-LABEL: "#f3":
+; CHECK: b "#fmod"
+  %r = frem double %x, %y
+  ret double %r
+}
+
+
+define i128 @f4(i128 %x, i128 %y) {
+; CHECK-LABEL: "#f4":
+; CHECK: bl "#__divti3"
+  %r = sdiv i128 %x, %y
+  ret i128 %r
+}
+
----------------
arsenm wrote:

And these maybe? https://github.com/llvm/llvm-project/blob/22f9b4aa1dad597d908be77be1e10ba4c77330ce/llvm/lib/IR/RuntimeLibcalls.cpp#L438

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


More information about the llvm-commits mailing list