summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger/misctypes.py
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-03-01 19:42:39 -0800
committerhjk <hjk121@nokiamail.com>2014-03-04 12:58:45 +0100
commit73c5eae31103c7906c5eb70bc4df0c8af787d9b8 (patch)
tree461c5f4cd7e1f5010a4a1d73c7e082b85f6e109f /share/qtcreator/debugger/misctypes.py
parente58c1ab06eca83134889d35beaf2771c73d2bcd3 (diff)
downloadqt-creator-73c5eae31103c7906c5eb70bc4df0c8af787d9b8.tar.gz
Add support for AVX512 registers
Unlike the SSE and AVX registers, the AVX512 registers appear to be used exclusively in 32- and 64-bit mode. There are no instructions to operate on 8- and 16-bit quantities; instead, there are instructions to do zero- and sign-extension on load and truncation and saturation on store. Change-Id: I0cd07a72e3aeb74f68c36d64cabc420711e51372 Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'share/qtcreator/debugger/misctypes.py')
-rw-r--r--share/qtcreator/debugger/misctypes.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/misctypes.py b/share/qtcreator/debugger/misctypes.py
index d818534ae9..df522df1e2 100644
--- a/share/qtcreator/debugger/misctypes.py
+++ b/share/qtcreator/debugger/misctypes.py
@@ -47,6 +47,12 @@ def qdump____m256(d, value):
if d.isExpanded():
d.putArrayData(d.lookupType("float"), value.address, 8)
+def qdump____m512(d, value):
+ d.putEmptyValue()
+ d.putNumChild(1)
+ if d.isExpanded():
+ d.putArrayData(d.lookupType("float"), value.address, 16)
+
def qdump____m128d(d, value):
d.putEmptyValue()
d.putNumChild(1)
@@ -59,6 +65,12 @@ def qdump____m256d(d, value):
if d.isExpanded():
d.putArrayData(d.lookupType("double"), value.address, 4)
+def qdump____m512d(d, value):
+ d.putEmptyValue()
+ d.putNumChild(1)
+ if d.isExpanded():
+ d.putArrayData(d.lookupType("double"), value.address, 8)
+
def qdump____m128i(d, value):
data = d.readMemory(value.address, 16)
d.putValue(':'.join("%04x" % int(data[i:i+4], 16) for i in xrange(0, 32, 4)))
@@ -109,6 +121,23 @@ def qdump____m256i(d, value):
d.putType("unsigned long long [4]")
d.putArrayData(d.lookupType("unsigned long long"), value.address, 4)
+def qdump____m512i(d, value):
+ data = d.readMemory(value.address, 64)
+ d.putValue(':'.join("%04x" % int(data[i:i+4], 16) for i in xrange(0, 64, 4))
+ + ', ' + ':'.join("%04x" % int(data[i:i+4], 16) for i in xrange(64, 128, 4)))
+ d.putNumChild(2)
+ if d.isExpanded():
+ # fake 2 children as arrays
+ with Children(d):
+ with SubItem(d, "uint32x16"):
+ d.putEmptyValue()
+ d.putType("unsigned int [16]")
+ d.putArrayData(d.lookupType("unsigned int"), value.address, 16)
+ with SubItem(d, "uint64x8"):
+ d.putEmptyValue()
+ d.putType("unsigned long long [8]")
+ d.putArrayData(d.lookupType("unsigned long long"), value.address, 8)
+
#######################################################################
#
# Eigen