mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
- Refactored @simd implementation.
- Regression vector ABI: npot vectors would load incorrectly from pointers and other things. #2576
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user