This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: gdb prints only 128 bits of a YMM register (AVX)


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: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf Of Laurent ML
Sent: Monday, July 27, 2015 2:48 PM
To: gdb@gnu.org
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]