Dear: thank you very mach for the program. the following is description for bug. # The source code convert between single-precision floating-point(32-bit) and half-precision floating-point (16-bit). .section .data m32fp: .float 142, 580, 36832, 65504 half: .short 0x5870, 0x6080, 0x787f, 0x7bff h1: .short 0, 0 ,0, 0 m1: .float 0, 0, 0, 0 .section .text .globl _start _start:     nop     movaps m32fp, %xmm0     vcvtps2ph $0, %xmm0, h1 #imm8=$0; h1 {m64}     vcvtph2ps h1, %xmm1     movups %xmm1, m1     next: movl $1, %eax     movl $0, %ebx     int $0x80 # the source code end here. # results under GNU Debugger (gdb) (gdb) x/4fw &m32fp 0x804a000: 142 580 36832 65504 (gdb) x/4fw &m1 0x804a020: 142 580 36832 65504 (gdb) x/4fh &half 0x804a010: 22640 24704 30847 31743 (gdb) x/4fh &h1 0x804a018: 22640 24712 30847 31743 (gdb) x/4xw &m32fp 0x804a000: 0x430e0000 0x44110000 0x470fe000 0x477fe000 (gdb) x/4xw &m1 0x804a020: 0x430e0000 0x44110000 0x470fe000 0x477fe000 (gdb) x/4xh &half 0x804a010: 0x5870 0x6080 0x787f 0x7bff (gdb) x/4xh &h1 0x804a018: 0x5870 0x6088 0x787f 0x7bff # the results of half-precision data (half, h1) by gdb are mistakes, or instruct me # All above under IA-32 , OS is centos (32-bit), GNU as and gdb are also 32-bit. hope your return.                         Niu Wensheng                          2023.02.16 ---Original--- From: "Joel Brobecker via Gdb"