5.7. 浮点转换指令

浮点转换指令用于完成单精度浮点数与双精度浮点数之间的转换,以及浮点数与定点数之间的转换。LoongArch支持的浮点转换指令如表4-8所示。

LoongArch支持的浮点转换指令 LoongArch支持的浮点转换指令

表4-8中,指令名前缀为fcvt的指令用于在单精度浮点数和双精度浮点数之间转换。其中,后缀.s.d表示把双精度浮点数(double)转换为单精度浮点数(float),后缀.d.s表示把单精度浮点数转换为双精度浮点数。指令名前缀为ffint的指令用于将定点数转换为浮点数,其中第二个f可理解为from;其后缀包括.s.w.s.l.d.w.d.l,分别表示32位整数转单精度浮点数、64位整数转单精度浮点数、32位整数转双精度浮点数、64位整数转双精度浮点数。指令名前缀为ftint的指令用于将浮点数转换为定点数,其中t可理解为to;其后缀包括.w.s.l.s.w.d.l.d,分别表示单精度浮点数转32位整数、单精度浮点数转64位整数、双精度浮点数转32位整数、双精度浮点数转64位整数。指令名前缀为frint的指令用于把浮点数转换为整数数值形式的浮点数,其中r可理解为round to;其后缀.s.d分别对应单精度浮点数和双精度浮点数。