Skip to the content.

F

← 전체 목차로 돌아가기


FABS

✅ Floating-point Absolute Value. Clears the sign bit of a floating-point register and writes the result to the destination.

✅ 부동소수점 절댓값. 부동소수점 레지스터의 부호 비트를 지워 결과를 대상 레지스터에 저장합니다.

Syntax

FABS <Sd|Dd>, <Sn|Dn>

Example

FABS D0, D1

🔗 Open Summary

FADD

✅ Floating-point Add. Adds two floating-point registers and writes the result to the destination register.

✅ 부동소수점 덧셈. 두 부동소수점 레지스터를 더하여 결과를 대상 레지스터에 저장합니다.

Syntax

FADD <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FADD D0, D1, D2

🔗 Open Summary

FCMP

✅ Floating-point Compare. Compares two floating-point registers (or a register and zero) and updates the NZCV condition flags.

✅ 부동소수점 비교. 두 부동소수점 레지스터(또는 레지스터와 0)를 비교하여 NZCV 조건 플래그를 갱신합니다.

Syntax

FCMP <Sn|Dn>, <Sm|Dm>  or  FCMP <Sn|Dn>, #0.0

Example

FCMP D0, D1
B.GT greater_label

🔗 Open Summary

FCVT

✅ Floating-point Convert precision. Converts a value between single-precision and double-precision formats.

✅ 부동소수점 정밀도를 변환합니다. 단정밀도와 배정밀도 형식 간에 값을 변환합니다.

Syntax

FCVT <Dd>, <Sn>  or  FCVT <Sd>, <Dn>

Example

FCVT D0, S0   // float -> double
FCVT S0, D0   // double -> float

🔗 Open Summary

FCVTZS

✅ Floating-point Convert to Signed integer, rounding toward Zero. Converts an FP value to a signed integer in a general-purpose register (like a C-style (int) cast).

✅ 부동소수점을 0 방향으로 반올림하여 부호 있는 정수로 변환합니다. FP 값을 범용 레지스터의 부호 있는 정수로 변환합니다(C 언어의 (int) 캐스팅과 유사).

Syntax

FCVTZS <Wd|Xd>, <Sn|Dn>

Example

FCVTZS X0, D0

🔗 Open Summary

FCVTZU

✅ Floating-point Convert to Unsigned integer, rounding toward Zero. Converts an FP value to an unsigned integer in a general-purpose register.

✅ 부동소수점을 0 방향으로 반올림하여 부호 없는 정수로 변환합니다. FP 값을 범용 레지스터의 부호 없는 정수로 변환합니다.

Syntax

FCVTZU <Wd|Xd>, <Sn|Dn>

Example

FCVTZU X0, D0

🔗 Open Summary

FDIV

✅ Floating-point Divide. Divides the first floating-point operand by the second and writes the result to the destination register.

✅ 부동소수점 나눗셈. 첫 번째 부동소수점 피연산자를 두 번째로 나눈 결과를 대상 레지스터에 저장합니다.

Syntax

FDIV <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FDIV D0, D1, D2

🔗 Open Summary

FMADD

✅ Floating-point Fused Multiply-Add. Computes Dd = Da + (Dn * Dm) in a single rounding step (fused, more precise than separate multiply+add).

✅ 부동소수점 융합 곱셈-덧셈. Dd = Da + (Dn * Dm)을 한 번의 반올림으로 계산합니다(별도로 곱셈 후 덧셈하는 것보다 정밀도가 높음).

Syntax

FMADD <Sd|Dd>, <Sn|Dn>, <Sm|Dm>, <Sa|Da>

Example

FMADD D0, D1, D2, D3   // D0 = D3 + (D1 * D2)

🔗 Open Summary

FMAX

✅ Floating-point Maximum. Writes the numerically larger of two floating-point operands to the destination register (NaN-propagating).

✅ 부동소수점 최댓값. 두 부동소수점 피연산자 중 수치적으로 더 큰 값을 대상 레지스터에 씁니다(NaN이 전파됨).

Syntax

FMAX <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FMAX D0, D1, D2

🔗 Open Summary

FMIN

✅ Floating-point Minimum. Writes the numerically smaller of two floating-point operands to the destination register (NaN-propagating).

✅ 부동소수점 최솟값. 두 부동소수점 피연산자 중 수치적으로 더 작은 값을 대상 레지스터에 씁니다(NaN이 전파됨).

Syntax

FMIN <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FMIN D0, D1, D2

🔗 Open Summary

FMLA

✅ Floating-point fused Multiply-Add (vector). Per-lane: Vd = Vd + (Vn * Vm), computed in a single rounding step. The workhorse of vectorized audio mixing and matrix/dot-product math.

✅ 부동소수점 벡터 융합 곱셈-덧셈. 레인별로 Vd = Vd + (Vn * Vm)을 한 번의 반올림으로 계산합니다. 오디오 믹싱, 행렬/내적 연산을 벡터화할 때 가장 많이 쓰이는 명령어입니다.

Syntax

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

Example

FMLA V0.4S, V1.4S, V2.4S   // 오디오 4채널 믹싱 등에 활용

🔗 Open Summary

FMLS

✅ Floating-point fused Multiply-Subtract (vector). Per-lane: Vd = Vd - (Vn * Vm), single rounding step.

✅ 부동소수점 벡터 융합 곱셈-뺄셈. 레인별로 Vd = Vd - (Vn * Vm)을 한 번의 반올림으로 계산합니다.

Syntax

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

Example

FMLS V0.4S, V1.4S, V2.4S

🔗 Open Summary

FMOV

✅ Floating-point Move. Copies a value between FP registers, or between a general-purpose register and an FP register, or loads a small FP immediate.

✅ 부동소수점 이동. FP 레지스터 간, 또는 범용 레지스터와 FP 레지스터 간 값을 복사하거나, 작은 FP 즉치값을 적재합니다.

Syntax

FMOV <Sd|Dd>, <Sn|Dn>  or  FMOV <Wd|Xd>, <Sn|Dn>  or  FMOV <Sd|Dd>, #<fpimm>

Example

FMOV D0, D1
FMOV X0, D0
FMOV D0, #1.0

🔗 Open Summary

FMSUB

Floating-point Fused Multiply-Subtract. Computes Dd = Da - (Dn * Dm) in a single rounding step.

부동소수점 융합 곱셈-뺄셈. Dd = Da - (Dn * Dm)을 한 번의 반올림으로 계산합니다.

Syntax

FMSUB <Sd|Dd>, <Sn|Dn>, <Sm|Dm>, <Sa|Da>

Example

FMSUB D0, D1, D2, D3   // D0 = D3 - (D1 * D2)

🔗 Open Summary

FMUL

✅ Floating-point Multiply. Multiplies two floating-point registers and writes the result to the destination register.

✅ 부동소수점 곱셈. 두 부동소수점 레지스터를 곱하여 결과를 대상 레지스터에 저장합니다.

Syntax

FMUL <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FMUL S0, S1, S2

🔗 Open Summary

FNEG

✅ Floating-point Negate. Flips the sign bit of a floating-point register and writes the result to the destination.

✅ 부동소수점 부호 반전. 부동소수점 레지스터의 부호 비트를 뒤집어 결과를 대상 레지스터에 저장합니다.

Syntax

FNEG <Sd|Dd>, <Sn|Dn>

Example

FNEG D0, D1

🔗 Open Summary

FSQRT

✅ Floating-point Square Root. Computes the square root of a floating-point register and writes the result to the destination.

✅ 부동소수점 제곱근. 부동소수점 레지스터의 제곱근을 계산하여 결과를 대상 레지스터에 저장합니다.

Syntax

FSQRT <Sd|Dd>, <Sn|Dn>

Example

FSQRT D0, D1

🔗 Open Summary

FSUB

✅ Floating-point Subtract. Subtracts the second floating-point operand from the first and writes the result to the destination register.

✅ 부동소수점 뺄셈. 두 번째 부동소수점 피연산자를 첫 번째에서 빼서 결과를 대상 레지스터에 저장합니다.

Syntax

FSUB <Sd|Dd>, <Sn|Dn>, <Sm|Dm>

Example

FSUB D0, D1, D2

🔗 Open Summary