5.1.1. NEON 명령어

Table 5.1에서는 NEON 명령어를 간략하게 보여 줍니다. 이러한 명령어는 VFP에서 사용할 수 없습니다.

Table 5.1. NEON 명령어 위치

니모닉간단한 설명페이지
VABA, VABD절대 차이, 절대 차이 및 누산VABA{L} 및 VABD{L}
VABS절대값V{Q}ABS 및 V{Q}NEG
VACGE, VACGT절대 비교 크거나 같음, 보다 큼VACGE 및 VACGT
VACLE, VACLT절대 비교 작거나 같음, 보다 작음 (의사 명령어) VACLE 및 VACLT
VADD더하기V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL 및 VSUBW
VADDHN더하기, 상위 반 선택V{R}ADDHN 및 V{R}SUBHN
VAND비트 단위 ANDVAND, VBIC, VEOR, VORN 및 VORR (레지스터)
VAND비트 단위 AND (의사 명령어) VAND 및 VORN (즉치값)
VBIC비트 단위 비트 지우기 (레지스터) VAND, VBIC, VEOR, VORN 및 VORR (레지스터)
VBIC비트 단위 비트 지우기 (즉치값) VBIC 및 VORR (즉치값)
VBIF, VBIT, VBSLFalse인 경우 비트 단위 삽입, True인 경우 삽입 및 선택VBIF, VBIT 및 VBSL
VCEQ, VCLE, VCLT비교 같음, 작거나 같음, 비교 보다 작음VCEQ, VCGE, VCGT, VCLE 및 VCLT
VCLE, VCLT비교 작거나 같음, 비교 보다 작음 (의사 명령어) VCLE 및 VCLT
VCLS, VCLZ, VCNT선행 부호 비트 계산, 선행 0 수 계산 및 세트 비트 계산VCLS, VCLZ 및 VCNT
VCVT고정 소수점 또는 정수를 부동 소수점으로 변환, 부동 소수점을 정수 또는 고정 소수점으로 변환VCVT (고정 소수점 또는 정수와 부동 소수점 간 변환)
VCVT반정밀도 부동 소수점 숫자와 단정밀도 부동 소수점 숫자 간에 변환VCVT (반정밀도 부동 소수점과 단정밀도 부동 소수점 간에 변환)
VDUP스칼라를 벡터의 모든 레인으로 복제VDUP
VEXT추출VEXT
VCGE, VCGT비교 크거나 같음, 보다 큼VCEQ, VCGE, VCGT, VCLE 및 VCLT
VEOR비트 단위 배타적 ORVAND, VBIC, VEOR, VORN 및 VORR (레지스터)
VHADD, VHSUB양분 더하기, 양분 빼기V{R}HADD 및 VHSUB
VMAX, VMIN최대값, 최소값VMAX, VMIN, VPMAX 및 VPMIN
VLD벡터 로드NEON 요소 및 구조체 로드/저장 명령어
VMLA, VMLS곱하기 누산, 곱하기 빼기 (벡터) VMUL{L}, VMLA{L} 및 VMLS{L}
VMLA, VMLS곱하기 누산, 곱하기 빼기 (스칼라 기준) VMUL{L}, VMLA{L} 및 VMLS{L} (스칼라 기준)
VMOV이동 (즉치값) VMOV, VMVN (즉치값)
VMOV이동 (레지스터) VMOV, VMVN (레지스터)
VMOVL, VMOV{U}NLong 이동, Narrow 이동 (레지스터) VMOVL, V{Q}MOVN, VQMOVUN
VMUL곱하기 (벡터) VMUL{L}, VMLA{L} 및 VMLS{L}
VMUL곱하기 (스칼라 기준) VMUL{L}, VMLA{L} 및 VMLS{L} (스칼라 기준)
VMVN음수 이동 (즉치값) VMOV, VMVN (즉치값)
VNEG부정V{Q}ABS 및 V{Q}NEG
VORN비트 단위 OR NOTVAND, VBIC, VEOR, VORN 및 VORR (레지스터)
VORN비트 단위 OR NOT (의사 명령어) VAND 및 VORN (즉치값)
VORR비트 단위 OR (레지스터) VAND, VBIC, VEOR, VORN 및 VORR (레지스터)
VORR비트 단위 OR (즉치값) VBIC 및 VORR (즉치값)
VPADD, VPADAL인접 쌍 더하기, 인접 쌍 더하기 및 누산VPADD{L}, VPADAL
VPMAX, VPMIN인접 쌍 최대값, 인접 쌍 최소값VMAX, VMIN, VPMAX 및 VPMIN
VQABS절대값, 포화V{Q}ABS 및 V{Q}NEG
VQADD더하기, 포화V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL 및 VSUBW
VQDMLAL, VQDMLSL포화 배수화 곱하기 누산 및 곱하기 빼기VQDMULL, VQDMLAL 및 VQDMLSL (벡터 기준 또는 스칼라 기준)
VQMOV{U}N포화 이동 (레지스터) VMOVL, V{Q}MOVN, VQMOVUN
VQDMUL포화 배수화 곱하기VQDMULL, VQDMLAL 및 VQDMLSL (벡터 기준 또는 스칼라 기준)
VQDMULH

포화 배수화 곱하기 상위 반 반환

VQ{R}DMULH (벡터 기준 또는 스칼라 기준)
VQNEG부정, 포화V{Q}ABS 및 V{Q}NEG
VQRDMULH

포화 배수화 곱하기 상위 반 반환

VQ{R}DMULH (벡터 기준 또는 스칼라 기준)
VQRSHL왼쪽으로 시프트, 반올림, 포화 (부호 있는 변수 기준) V{Q}{R}SHL (부호 있는 변수 기준)
VQRSHR오른쪽으로 시프트, 반올림, 포화 (즉치값 기준) VQ{R}SHR{U}N (즉치값 기준)
VQSHL왼쪽으로 시프트, 포화 (즉치값 기준) VSHL, VQSHL, VQSHLU 및 VSHLL (즉치값 기준)
VQSHL왼쪽으로 시프트, 포화 (부호 있는 변수 기준) V{Q}{R}SHL (부호 있는 변수 기준)
VQSHR오른쪽으로 시프트, 포화 (즉치값 기준) VQ{R}SHR{U}N (즉치값 기준)
VQSUB빼기, 포화V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL 및 VSUBW
VRADDH더하기, 상위 반 선택, 반올림V{R}ADDHN 및 V{R}SUBHN
VRECPE역수 추정VRECPE 및 VRSQRTE
VRECPS역수 단계VRECPS 및 VRSQRTS
VREV요소 반전VREV
VRHADD양분 더하기, 반올림V{R}HADD 및 VHSUB
VRSHR, VRSRA오른쪽으로 시프트와 반올림, 오른쪽으로 시프트, 반올림 및 누산 (즉치값 기준) V{R}SHR{N}, V{R}SRA (즉치값 기준)
VRSUBH빼기, 상위 반 선택, 반올림V{R}ADDHN 및 V{R}SUBHN
VRSQRTE역수 제곱근 추정VRECPE 및 VRSQRTE
VRSQRTS역수 제곱근 단계VRECPS 및 VRSQRTS
VSHL왼쪽으로 시프트 (즉치값 기준) VSHL, VQSHL, VQSHLU 및 VSHLL (즉치값 기준)
VSHR오른쪽으로 시프트 (즉치값 기준) V{R}SHR{N}, V{R}SRA (즉치값 기준)
VSLI왼쪽으로 시프트 및 삽입VSLI 및 VSRI
VSRA오른쪽으로 시프트, 누산 (즉치값 기준) V{R}SHR{N}, V{R}SRA (즉치값 기준)
VSRI오른쪽으로 시프트 및 삽입VSLI 및 VSRI
VST벡터 저장NEON 요소 및 구조체 로드/저장 명령어
VSUB빼기V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL 및 VSUBW
VSUBH빼기, 상위 반 선택V{R}ADDHN 및 V{R}SUBHN
VSWP벡터 스왑VSWP
VTBL, VTBX벡터 테이블 조회VTBL, VTBX
VTST비트 테스트VTST
VTRN벡터 이항VTRN
VUZP, VZIP벡터 인터리브 및 디인터리브VUZP, VZIP

Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential