gdb prints only 128 bits of a YMM register (AVX)
Laurent ML <[email protected]> Mon, 27 Jul 2015 14:47:33 +0200
| Newsgroups | gmane.comp.gdb.devel,gmane.comp.gdb.general |
|---|---|
| Message-ID | <CA+H-mRiyynNKCyy36ABTRVb1mMa2_Q-sFcbUnzP6q6jxBJXZcQ@mail.gmail.com> |
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.