Assembling Pi

B.2 Erweiterungen der CPU-Funktionalität

2.3.5 VFP und NEON: VFP Data Conversion Befehle

Die Armv7-Architektur bietet Instruktionen, um Werte zwischen verschiedenen Floating-Point- und Integer-Formaten zu konvertieren.

Vcvt: Vector Convert

vcvt ist eine Instruktion, die verwendet wird, um Werte zwischen Floating-Point- und Integer-Formaten zu konvertieren.

Syntax:

vcvt{r} {<cond>}.<type>.f32 Sd, Sm
vcvt {<cond>}.f32.<type>    Sd, Sm

Beispiele

Konvertierung von Float nach Signed Integer ohne Rundung:

vcvt.s32.f32    s1, s0

Hier wird der Wert im Register s0 (Floating-Point) in einen 32-bit signed Integer umgewandelt und das Ergebnis in s1 gespeichert.

Konvertierung von Float nach Unsigned Integer mit Rundung:

vcvt r.u32.f32  s2, s3

In diesem Beispiel wird der Wert im Register S3 (Floating-Point) in einen 32-bit unsigned Integer umgewandelt, unter Berücksichtigung des im FPSCR festgelegten Rundungsmodus, und das Ergebnis in s2 gespeichert.

Bedingte Konvertierung von Signed Integer nach Float:

vcvtle.f32.s32  s4, s5

Diese Instruktion wird nur ausgeführt, wenn die Bedingung “less than or equal” (le) erfüllt ist. Hier wird der Wert im Register s5 (32-bit signed Integer) in einen Floating-Point-Wert umgewandelt und das Ergebnis in s4 gespeichert.

zurück Hauptmenü weiter
2.3 VFP und NEON
2.3.1 Intro
2.3.2 Gleitkommazahlen
2.3.3 Floating Point Format nach IEEE 754
2.3.4 VFP (Vector Floating Point) in der ARM-Architektur
2.3.5 VFP Data Conversion Befehle
2.3.6 Was ist NEON?
2.3.7 Überblick über die ARMv7 NEON-Register
2.3.8 Vektoren und Skalare
2.3.9 Registeradressierung in NEON
2.3.10 Das NEON und Floatingpoint Status Register
2.3.11 Steuerung und Statusübertragung zwischen ARM- und NEON/VFP-Statusregistern (VMSR und VMRS)
2.3.12 NEON Instruktionen
2.3.13 Datentransfer
2.3.14 NEON Load/Store Instruktionen
2.3.15 Arithmetische und logische NEON-Operationen
2.3.16 VTRN (Vector Transpose) Instruktionen
2.3.17 Implementierung von Trigonometrischen Funktionen
2.3.18 Implementierung einer 4x4-Matrixmultiplikationsfunktion mit NEON