- Refactored @simd implementation.

- Regression vector ABI: npot vectors would load incorrectly from pointers and other things. #2576
This commit is contained in:
Christoffer Lerno
2025-11-16 00:15:18 +01:00
parent 5f96b8e4c6
commit 4e66693065
77 changed files with 1152 additions and 1067 deletions

View File

@@ -22,7 +22,7 @@ entry:
%.anon = alloca [2 x i32], align 4
%result = alloca [2 x i32], align 4
%0 = load i32, ptr @splat.a, align 4
store i32 %0, ptr %z, align 4
store i32 %0, ptr %z, align 16
%ptradd = getelementptr inbounds i8, ptr %z, i64 4
%1 = call i64 @splat.test()
store i64 %1, ptr %result, align 4

View File

@@ -520,7 +520,7 @@ loop.exit8: ; preds = %loop.cond2
%hi = load i64, ptr %ptradd10, align 8
%42 = call i32 @test.sum_us(ptr %lo, i64 %hi)
%43 = call i32 (ptr, ...) @printf(ptr @.str.17, i32 %42)
store i32 1, ptr %varargslots, align 4
store i32 1, ptr %varargslots, align 16
%ptradd11 = getelementptr inbounds i8, ptr %varargslots, i64 4
store i32 2, ptr %ptradd11, align 4
%ptradd12 = getelementptr inbounds i8, ptr %varargslots, i64 8

View File

@@ -564,7 +564,7 @@ loop.exit8: ; preds = %loop.cond2
call void @llvm.memcpy.p0.p0.i32(ptr align 8 %indirectarg11, ptr align 8 %z, i32 16, i1 false)
%42 = call i32 @test.sum_us(ptr align 8 %indirectarg11)
%43 = call i32 (ptr, ...) @printf(ptr @.str.17, i32 %42)
store i32 1, ptr %varargslots, align 4
store i32 1, ptr %varargslots, align 16
%ptradd12 = getelementptr inbounds i8, ptr %varargslots, i64 4
store i32 2, ptr %ptradd12, align 4
%ptradd13 = getelementptr inbounds i8, ptr %varargslots, i64 8