regression: +54 insts: unaligned_memcpy31 (memcpy-inline.ll)
| Run: | explore-04ca53e65f-20261014-114124 |
| Kind: | regression |
| Category: | +54 insts: unaligned_memcpy31 (memcpy-inline.ll) |
| Occurrences: | 1 in 1 configs, 1 test files |
| Snippet from: | memcpy-inline.ll @unaligned_memcpy31 via llvm-extract |
| Config: | -mtriple=riscv64 -mattr=+unaligned-scalar-mem |
| Local check: | reproduces at 04ca53e65f |
| Compiler Explorer: | not uploaded (over --godbolt-limit or disabled) |
Snippet:
; Function Attrs: nounwind
define void @unaligned_memcpy31(ptr captures(none) %dest, ptr %src) #0 {
entry:
tail call void @llvm.memcpy.inline.p0.p0.i64(ptr %dest, ptr %src, i64 31, i1 false)
ret void
}
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.inline.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1
attributes #0 = { nounwind }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
Reproduce:
llc -mtriple=riscv64 -mattr=+unaligned-scalar-mem -global-isel snippet.ll -o -
llc -mtriple=riscv64 -mattr=+unaligned-scalar-mem -global-isel=0 snippet.ll -o -
Assembly diff (SelectionDAG vs GlobalISel):
--- sdag
+++ gisel
@@ -1,9 +1,63 @@
-ld a2, 23(a1)
-sd a2, 23(a0)
-ld a2, 16(a1)
-sd a2, 16(a0)
-ld a2, 8(a1)
-sd a2, 8(a0)
-ld a1, 0(a1)
-sd a1, 0(a0)
+lbu a2, 0(a1)
+sb a2, 0(a0)
+lbu a2, 1(a1)
+sb a2, 1(a0)
+lbu a2, 2(a1)
+sb a2, 2(a0)
+lbu a2, 3(a1)
+sb a2, 3(a0)
+lbu a2, 4(a1)
+sb a2, 4(a0)
+lbu a2, 5(a1)
+sb a2, 5(a0)
+lbu a2, 6(a1)
+sb a2, 6(a0)
+lbu a2, 7(a1)
+sb a2, 7(a0)
+lbu a2, 8(a1)
+sb a2, 8(a0)
+lbu a2, 9(a1)
+sb a2, 9(a0)
+lbu a2, 10(a1)
+sb a2, 10(a0)
+lbu a2, 11(a1)
+sb a2, 11(a0)
+lbu a2, 12(a1)
+sb a2, 12(a0)
+lbu a2, 13(a1)
+sb a2, 13(a0)
+lbu a2, 14(a1)
+sb a2, 14(a0)
+lbu a2, 15(a1)
+sb a2, 15(a0)
+lbu a2, 16(a1)
+sb a2, 16(a0)
+lbu a2, 17(a1)
+sb a2, 17(a0)
+lbu a2, 18(a1)
+sb a2, 18(a0)
+lbu a2, 19(a1)
+sb a2, 19(a0)
+lbu a2, 20(a1)
+sb a2, 20(a0)
+lbu a2, 21(a1)
+sb a2, 21(a0)
+lbu a2, 22(a1)
+sb a2, 22(a0)
+lbu a2, 23(a1)
+sb a2, 23(a0)
+lbu a2, 24(a1)
+sb a2, 24(a0)
+lbu a2, 25(a1)
+sb a2, 25(a0)
+lbu a2, 26(a1)
+sb a2, 26(a0)
+lbu a2, 27(a1)
+sb a2, 27(a0)
+lbu a2, 28(a1)
+sb a2, 28(a0)
+lbu a2, 29(a1)
+sb a2, 29(a0)
+lbu a1, 30(a1)
+sb a1, 30(a0)
ret
Occurrences (1):
| Input | Function | Config |
|---|
| memcpy-inline.ll | unaligned_memcpy31 | -mtriple=riscv64 -mattr=+unaligned-scalar-mem |
Generated 2026-10-15 08:05 UTC.