この質問を考慮して:Xcode LLVMでLOOPに関するインラインアセンブリコードを作成する方法は?
これは、次のインラインアセンブリコードで回答されます。
void brighten_neon(unsigned char* src, unsigned char* dst, int numPixels, int intensity) {
asm volatile (
              "\t mov r4, #0\n"
              "\t vdup.8 d1, %3\n"
              "Lloop2:\n"
              "\t cmp r4, %2\n"
              "\t bge Lend2\n"
              "\t vld1.8 d0, [%0]!\n"
              "\t vqadd.s8 d0, d0, d1\n"
              "\t vst1.8 d0, [%1]!\n"
              "\t add r4, r4, #8\n"
              "\t b Lloop2\n"
              "Lend2:\n"
              : "=r"(src), "=r"(dst), "=r"(numPixels), "=r"(intensity)
              : "0"(src), "1"(dst), "2"(numPixels), "3"(intensity)
              : "cc", "r4", "d1", "d0");
}
アセンブリコードの最後の3行はどういう意味ですか?ここでは、インラインで使用されているレジスタ名などでパラメータが定義されているようです。誰かがこれについて詳しく説明できますか?誰かがこれを説明する良いリソースを知っていますか?