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