特定于体系结构的Golang功能文档
我有一个函数,我想为它提供一个汇编实现 在特定于体系结构的Golang功能文档,go,godoc,Go,Godoc,我有一个函数,我想为它提供一个汇编实现 在amd64体系结构上。为了便于讨论,让我们假设这是一个 Add函数,但实际上要比这个复杂得多。我有 程序集版本正在运行,但我的问题是如何显示godoc 正确地我有一种感觉,这是目前不可能的,但我想寻求 忠告 更多详情: 此函数的程序集实现只包含几个 说明书特别是,调用该函数的成本是一个很大的问题 整个成本的重要部分 它使用特殊说明(BMI2),因此只能使用 在进行CPUID功能检查之后 实施过程非常简单。在高级别: 在通用(非amd64情况)中,通
amd64
体系结构上。为了便于讨论,让我们假设这是一个
Add
函数,但实际上要比这个复杂得多。我有
程序集版本正在运行,但我的问题是如何显示godoc
正确地我有一种感觉,这是目前不可能的,但我想寻求
忠告
更多详情:
- 此函数的程序集实现只包含几个 说明书特别是,调用该函数的成本是一个很大的问题 整个成本的重要部分
- 它使用特殊说明(
),因此只能使用 在进行BMI2
功能检查之后CPUID
- 在通用(非amd64情况)中,通过委托给
addGeneric
- 在
情况下,函数实际上是一个变量,最初设置为amd64
但如果addGeneric
检查通行证cpuid
amd64
case函数实际上是一个变量。注:godoc似乎是
获取与运行它的机器相同的构建标记。我不确定
godoc.org会做什么
考虑的备选方案:
功能委托给Add
。然后我们玩一些类似的把戏 替换addImpl
案例中的amd64
。这方面的问题是(在我看来) 实验)Go似乎无法内联调用和程序集 现在被包装在两个函数调用中。因为组件已经很小了 这对性能有明显的影响addImpl
- 在
案例中,我们定义了一个普通函数amd64
,该函数具有Add
检查它的内部,并根据需要调用useAsm
和addGeneric
中的一个 结果。这将对性能产生更糟糕的影响addAsm
- 写一篇
- 写一封信
- 对于每个体系结构,在汇编程序中编写一个函数,该函数表示或
要处理cpuid检查,请在
init()
中设置一个包变量,并在程序集实现中基于该变量有条件地跳转。谢谢,这非常有用!但是,它不能完全处理cpuid
检查。我在运行时
包中找到了有用的示例代码。例如,添加一个.来处理cpuid检查,在init()中设置一个包变量,并在程序集实现中基于该变量有条件地跳转