指令中的 AVX 舍入

问题描述 投票:0回答:1

我注意到,使用 AVX,可以从

MXCSR
寄存器获取舍入模式,并且可以通过指令 (
EVEX.RC
) 抑制此默认值,从而允许指令指定仅用于此操作的舍入模式。这对于汇编程序员来说可能很容易,但是有没有办法使用
_mm256_add_pd
_mm256_mul_pd
等内在函数指定舍入模式?

intel intrinsics avx avx2 avx512
1个回答
0
投票

在指令中包含舍入模式是 AVX-512 的一项功能,除此之外,也仅适用于指令的 512 位版本。编码舍入模式的位也被重用来编码寄存器大小(这意味着这些位取决于 EVEX.b 位以及它是什么类型的指令),因此 EVEX 前缀的编码就是它的样子,对于运行在 256 位寄存器上的指令来说,确实不可能进行舍入控制。

适用的 AVX-512 内在函数,例如

_mm512_add_round_pd
_mm512_mul_round_pd
(及其掩码变体 - 掩码 can 与舍入控制相结合)采用舍入说明符作为其最后一个参数。

© www.soinside.com 2019 - 2024. All rights reserved.