From f2020f7463b2cd722cfa5abf8b149fc19598832b Mon Sep 17 00:00:00 2001 From: veclav talica Date: Thu, 9 Nov 2023 21:59:28 +0500 Subject: [PATCH] calling convention notice --- articles/simd-rect/page.mmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/articles/simd-rect/page.mmd b/articles/simd-rect/page.mmd index 521e423..aa5e274 100644 --- a/articles/simd-rect/page.mmd +++ b/articles/simd-rect/page.mmd @@ -37,7 +37,8 @@ pub fn RectSIMD(comptime T: type) type { ### Assembly ### This is produced by godbolt, which apparently has AVX512 extensions, so, it's extremely compact. -note: SysV prelude and outro are omitted, with inlining you can expect it looking similarly. +Note: Calling prelude and outro are omitted, with inlining you can expect it looking similarly. +Zig calling convention is used, which is roughly equal to C's static marked procedure. For 32bit floating point: ```asm @@ -148,9 +149,8 @@ For 32bit signed integers it fares amazing too: AVX512 makes it so that there's no big penalty for double precision types, which is nice. -Note that permutation masks are also supplied along side code which increase binary size. -With inlining it could be quite substantial if per object %rip relative addressing is used. - ### Edits ### - Reordered to use packed vectors without swizzling when possible. - Eliminated redundant computations. +- Calling convention notice. +