5.9.1. VSHL, VQSHL, VQSHLU 및 VSHLL (즉치값 기준)

벡터 왼쪽으로 시프트 (즉치값 기준) 명령어는 정수 벡터의 각 요소를 가져와서 즉치값만큼 왼쪽으로 시프트하고 결과를 대상 벡터에 배치합니다.

VSHL (벡터 왼쪽으로 시프트) 의 경우 각 요소 왼쪽에서 시프트된 비트는 버려집니다.

VQSHL (벡터 포화 왼쪽으로 시프트) 및 VQSHLU (부호 있는 벡터 포화 왼쪽으로 시프트) 의 경우 포화가 발생하면 스티키 QC 플래그 (FPSCR 비트[27]) 가 설정됩니다.

VSHLL (벡터 왼쪽으로 시프트 Long) 의 경우 값은 부호 확장되거나 0으로 확장됩니다.

구문

V{Q}SHL{U}{cond}.datatype {Qd}, Qm, #imm
V{Q}SHL{U}{cond}.datatype {Dd}, Dm, #imm
VSHLL{cond}.datatype Qd, Dm, #imm

인수 설명:

Q

있을 경우 결과가 오버플로되면 포화됨을 나타냅니다.

U

Q도 있는 경우에만 허용됩니다. 피연산자에 부호가 있어도 결과에 부호가 없음을 나타냅니다.

cond

선택적 조건 코드입니다 (조건 코드 참조).

datatype

다음 중 하나여야 합니다.

I8, I16, I32, I64

VSHL의 경우

S8, S16, S32

VSHLL, VQSHL 또는 VQSHLU의 경우

U8, U16, U32

VSHLL 또는 VQSHL의 경우

S64

VQSHL 또는 VQSHLU의 경우

U64

VQSHL의 경우

Qd, Qm

쿼드워드 연산에 대한 대상 및 피연산자 벡터입니다.

Dd, Dm

더블워드 연산에 대한 대상 및 피연산자 벡터입니다.

Qd, Dm

long 연산에 대한 대상 및 피연산자 벡터입니다.

imm

다음 범위에서 시프트 크기를 지정하는 즉치 상수입니다.

  • VSHLL의 경우 1 ~ 크기 (datatype)

  • VSHL, VQSHL 또는 VQSHLU의 경우 1 ~ (크기 (datatype) – 1)

0이 허용되지만 결과 코드는 VMOV 또는 VMOVL로 디스어셈블됩니다.

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