F
✅ 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
✅ 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
✅ 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
✅ 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
✅ 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
✅ 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
✅ 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
✅ 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)
✅ 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
✅ 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
✅ 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채널 믹싱 등에 활용
✅ 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
✅ 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
✅ 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)
✅ 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
✅ 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
✅ 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
✅ 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