草庐IT

000000000068

全部标签

c++ - 在 Clang 下解决缺少 Yz 机器约束的问题?

如果未定义__SHA__,我们将使用内联汇编使SHA指令可用。在GCC下,我们使用:GCC_INLINE__m128iGCC_INLINE_ATTRIBMM_SHA256RNDS2_EPU32(__m128ia,const__m128ib,const__m128ic){asm("sha256rnds2%2,%1,%0":"+x"(a):"xm"(b),"Yz"(c));returna;}Clang不使用GCC的Yzconstraint(参见Clang3.2Issue13199和Clang3.9Issue32727),这是sha256rnds2指令所必需的:YzFirstSSEregis