Skip to the content.

U

← 전체 목차로 돌아가기


UBFX

✅ Unsigned Bitfield Extract. Extracts a bitfield of a given width starting at a given bit position, and zero-extends it to fill the destination register.

✅ 부호 없는 비트필드 추출. 지정한 시작 비트 위치에서 지정한 폭만큼 비트를 뽑아내어, 대상 레지스터 전체에 0으로 채워 넣습니다.

Syntax

UBFX <Wd|Xd>, <Wn|Xn>, #<lsb>, #<width>

Example

UBFX X0, X1, #4, #8   // X1의 4~11번 비트(8비트)를 뽑아 제로확장

🔗 Open Summary

UCVTF

✅ Unsigned integer Convert to Floating-point. Converts an unsigned integer register value to a floating-point value in the destination register.

✅ 부호 없는 정수를 부동소수점으로 변환합니다. 부호 없는 정수 레지스터 값을 부동소수점 값으로 변환하여 대상 레지스터에 저장합니다.

Syntax

UCVTF <Sd|Dd>, <Wn|Xn>

Example

UCVTF D0, X0

🔗

UDIV

✅ Unsigned Divide. Divides the first operand by the second (unsigned) and writes the quotient to the destination register.

✅ 부호 없는 나눗셈. 첫 번째 피연산자를 두 번째 피연산자로(부호 없는 연산으로) 나눈 몫을 대상 레지스터에 저장합니다.)

Syntax

UDIV <Wd|Xd>, <Wn|Xn>, <Wm|Xm>

Example

UDIV X0, X1, X2

🔗

UMAXV

✅ Unsigned Maximum across Vector. Finds the largest unsigned value among all lanes and writes it to the destination.

✅ 벡터 전체 중 최댓값(부호 없음). 모든 레인 중 가장 큰 부호 없는 값을 찾아 대상에 씁니다.

Syntax

UMAXV <V><d>, <Vn>.<T>

Example

UMAXV B0, V1.16B

🔗

UMINV

✅ Unsigned Minimum across Vector. Finds the smallest unsigned value among all lanes and writes it to the destination.

✅ 벡터 전체 중 최솟값(부호 없음). 모든 레인 중 가장 작은 부호 없는 값을 찾아 대상에 씁니다.

Syntax

UMINV <V><d>, <Vn>.<T>

Example

UMINV B0, V1.16B

🔗

UMOV

✅ Unsigned Move (vector to general-purpose register). Copies one lane of a vector into a general-purpose register, zero-extending it. The counterpart of DUP for reading a single lane back out.

✅ 벡터 레인을 범용 레지스터로 이동(부호 없음). 벡터의 한 레인 값을 0으로 확장하여 범용 레지스터에 저장합니다. DUP과 반대로, 벡터에서 값을 하나 꺼내올 때 씁니다.

Syntax

UMOV <Rd>, <Vn>.<Ts>[<index>]

Example

UMOV W0, V0.S[0]   // V0의 첫 32비트 레인을 W0로 꺼냄

🔗

UMULH

✅ Unsigned Multiply High. Multiplies two unsigned 64-bit values and writes only the upper 64 bits of the full 128-bit product into the destination register.

✅ 부호 없는 곱셈 상위비트. 두 개의 부호 없는 64비트 값을 곱한 128비트 결과 중 상위 64비트만 대상 레지스터에 저장합니다.

Syntax

UMULH <Xd>, <Xn>, <Xm>

Example

UMULH X0, X1, X2

🔗

UMULL

✅ Unsigned Multiply Long. Multiplies two unsigned 32-bit values and writes the full 64-bit product into the destination register.

✅ 부호 없는 긴 곱셈. 두 개의 부호 없는 32비트 값을 곱한 전체 64비트 결과를 대상 레지스터에 저장합니다.

Syntax

UMULL <Xd>, <Wn>, <Wm>

Example

UMULL X0, W1, W2

🔗

UQADD

✅ Unsigned saturating Add (vector). Same as SQADD but clamps to the unsigned range instead - useful for image pixel values that must stay within 0-255.

✅ 부호 없는 포화 덧셈(벡터). SQADD와 같지만 부호 없는 범위에서 클램프합니다. 픽셀 값이 0~255 범위를 벗어나면 안 되는 이미지 처리에 유용합니다.

Syntax

UQADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>

Example

UQADD V0.16B, V1.16B, V2.16B   // 밝기 보정 시 255를 넘지 않도록

🔗

UQSUB

✅ Unsigned saturating Subtract (vector). Same as SQSUB but clamps to the unsigned range - a subtraction that stops at 0 instead of wrapping to a huge positive number, e.g. for image darkening.

✅ 부호 없는 포화 뺄셈(벡터). SQSUB와 같지만 부호 없는 범위에서 클램프합니다. 뺄셈 결과가 큰 양수로 감싸돌지 않고 0에서 멈춥니다(예: 이미지 어둡게 하기).

Syntax

UQSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>

Example

UQSUB V0.16B, V1.16B, V2.16B   // 밝기를 낮추되 0 밑으로 안 내려가게

🔗

UXTB

✅ Zero-eXTend Byte. Zero-extends the low 8 bits of the source register to the destination register’s full width, clearing everything above bit 7. Commonly seen as an alias of AND <Wd>, <Wn>, #0xff, used to isolate a single byte (e.g. an unsigned char) from a wider register.

✅ 바이트를 부호 없이 확장. 소스 레지스터의 하위 8비트를 대상 레지스터 전체 폭으로 0 확장하며, 8비트 위쪽은 전부 지워집니다. AND <Wd>, <Wn>, #0xff의 별칭으로도 쓰이며, 더 넓은 레지스터에서 바이트 하나(예: unsigned char)만 뽑아낼 때 흔히 사용됩니다.

Syntax

UXTB <Wd>, <Wn>

Example

UXTB W0, W1   // W1의 하위 1바이트만 남기고 나머지는 0으로

🔗

UXTH

✅ Zero-eXTend Halfword. Zero-extends the low 16 bits of the source register to the destination register’s full width, clearing everything above bit 15. The 16-bit counterpart of UXTB, used to isolate an unsigned short/halfword value.

✅ 하프워드를 부호 없이 확장. 소스 레지스터의 하위 16비트를 대상 레지스터 전체 폭으로 0 확장하며, 16비트 위쪽은 전부 지워집니다. UXTB의 16비트 버전으로, unsigned short/하프워드 값을 뽑아낼 때 사용됩니다.

Syntax

UXTH <Wd>, <Wn>

Example

UXTH W0, W1   // W1의 하위 2바이트만 남기고 나머지는 0으로

🔗

UXTL

✅ Unsigned extend Long (vector widen). Zero-extends each element in the lower half of a vector to double its width. The unsigned counterpart of SXTL.

✅ 부호 없이 확장하며 폭 넓히기(벡터). 벡터 하위 절반의 각 원소를 0으로 채워 두 배 폭으로 확장합니다. SXTL의 부호 없는 버전입니다.

Syntax

UXTL <Vd>.<Ta>, <Vn>.<Tb>

Example

UXTL V0.8H, V1.8B   // unsigned 8비트 8개 -> unsigned 16비트 8개로 확장

🔗

UXTW

✅ Zero-Extend Word (Unsigned eXTend Word). Zero-extends the low 32 bits of the source register to 64 bits and writes the result to the destination register.

✅ 워드를 부호 없이 확장합니다(제로 확장). 소스 레지스터의 하위 32비트를 0으로 채워 64비트로 확장한 뒤 대상 레지스터에 저장합니다.

Syntax

UXTW <Xd>, <Wn>

Example

UXTW X0, W1

🔗

UZP1

✅ Unzip vectors (even elements). The inverse of ZIP: gathers the even-indexed elements from two vectors into the destination. Used to de-interleave data, e.g. pulling every-other-sample out of an interleaved stream.

✅ 벡터 언집(짝수 원소). ZIP의 반대 동작으로, 두 벡터에서 짝수 번째 인덱스의 원소들만 모아 대상 벡터를 만듭니다. 인터리브된 스트림에서 한 칸씩 건너뛰며 뽑아낼 때 씁니다.

Syntax

UZP1 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>

Example

UZP1 V0.4S, V1.4S, V2.4S

🔗

UZP2

✅ Unzip vectors (odd elements). Same as UZP1 but gathers the odd-indexed elements instead.

✅ 벡터 언집(홀수 원소). UZP1과 동작은 같지만, 홀수 번째 인덱스의 원소들을 모읍니다.

Syntax

UZP2 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>

Example

UZP2 V0.4S, V1.4S, V2.4S

🔗