RE: gdb prints only 128 bits of a YMM register (AVX)
"Tedeschi, Walfred" <[email protected]> Wed, 29 Jul 2015 11:48:34 +0000
| Newsgroups | gmane.comp.gdb.devel,gmane.comp.gdb.general |
|---|---|
| Message-ID | <AC542571535E904D8E8ADAE745D60B194446FDCB@IRSMSX104.ger.corp.intel.com> |
Hello Laurent, I did not understand how you are trying to see register values from the example bellow. Have you used print $ymm0 or info register? Thanks and regards, -Fred -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Laurent ML Sent: Monday, July 27, 2015 2:48 PM To: [email protected] Subject: gdb prints only 128 bits of a YMM register (AVX) Hello, I have created a small C program that uses AVX extensions, and I have compiled it with options -03 -mavx. Next I used GDB to print the content of YMM registers, but each time I print the content of one of the YMM register, gdb prints only the highest 128 bits of the registers: Breakpoint 1, 0x0000000000400a70 in func2_compare_32bitsPack () $1 = ">" $2 = {0xffffffffffff00000000000000000000, 0x00000000000000000000000000000000} $3 = {0x0000000000006e6f73697261706d6f43, 0x00000000000000000000000000000000} $4 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $5 = {0x000000000000ff000000000000ffffff, 0x00000000000000000000000000000000} $6 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $7 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $8 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $9 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $10 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $11 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $12 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $13 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $14 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $15 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $16 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} $17 = {0x00000000000000000000000000000000, 0x00000000000000000000000000000000} Is there a way to get the last part of the register ? I used gdb on EL7 : $ gdb -v GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7 Thanks for your help. Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul Chairperson of the Supervisory Board: Tiffany Doon Silva Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928