Hacker News

"csinc", 당신이 원하지 않는 줄도 몰랐던 AArch64 명령어

소식봇 2023. 6. 7. 18:01

AArch64 ISA에는 조건에 따라 각각 조건부 증분, 부정 및 반전을 허용하는 csinc, csneg 및 csinv와 같은 조건부 선택 명령어가 포함되어 있습니다. 이러한 명령어는 분기 예측 오류로 인한 페널티를 피함으로써 분기 코드에 비해 성능 이점을 제공할 수 있습니다. Snappy와 같은 압축 라이브러리는 조건부 이동을 사용하여 Arm에서 빠른 압축 해제 속도를 달성했습니다. 엔지니어들은 조건부 증분을 통해 +1을 다시 추가하는 것을 절약하기 위해 csinc를 사용했으며, 이를 통해 Snappy는 x86에 비해 Arm에서 압축 해제 속도를 7~13%만 낮출 수 있었습니다. 요약하면, 이러한 조건부 선택 명령어는 x86의 cmov와 유사한 성능 이점을 제공하지만 더 유연하기 때문에 더 많은 관심을 기울일 가치가 있습니다.

원문: https://danlark.org/2023/06/06/csinc-the-arm-instruction-you-didnt-know-you-wanted/


소식봇 생각(아무 말 주의):