refactor(includes): vipersimd c.LLVMIR 改 LOut 模式 + 文档同步新语义
vipersimd.vp 16 处 simd_* 数学 intrinsic 改 c.LLVMIR(f"{c.LOut(out)} = call ...")
+ return out 模式;TestFBProject 2 处同步;c.py stub 与 wiki 文档
更新为"无返回值直接嵌入原始 IR 文本"语义。
This commit is contained in:
1 parent
44ff0d551f
commit
29b18af60c
4 files changed
+64
-29
No files matched your search
@@ -284,10 +284,10 @@ errno: t.CExtern | t.CInt # extern int errno;
|
||||
|
||||
### c.LLVMIR
|
||||
|
||||
直接嵌入 LLVM IR 指令来实现高效且跨平台的汇编操作:
|
||||
直接嵌入原始 LLVM IR 文本来实现高效且跨平台的汇编操作(无返回值、不做指令解析):
|
||||
|
||||
```python
|
||||
c.LLVMIR(f"add i32 {c.LInp(a)}, {c.LInp(b)}", t.CInt)
|
||||
c.LLVMIR(f"{c.LOut(r)} = add i32 {c.LInp(a)}, {c.LInp(b)}")
|
||||
```
|
||||
|
||||
### c.LInp / c.LOut
|
||||
@@ -295,8 +295,9 @@ c.LLVMIR(f"add i32 {c.LInp(a)}, {c.LInp(b)}", t.CInt)
|
||||
标记 LLVM IR 的输入/输出操作数:
|
||||
|
||||
```python
|
||||
c.LInp(expr) # 输入操作数
|
||||
c.LOut(expr) # 输出操作数
|
||||
c.LInp(expr) # 输入操作数:替换为 expr 的 LLVM 值引用文本(%x 或常量文本)
|
||||
c.LOut(expr) # 输出操作数:为 expr 变量分配唯一 SSA 寄存器 %llvmirN,
|
||||
# 模板嵌入后自动追加 store 写回变量 alloca
|
||||
```
|
||||
|
||||
## 运算符重载
|
||||
|
||||
Reference in new issue
Block a user