aboutsummaryrefslogtreecommitdiff
path: root/gdb/amd64-tdep.c
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@br.ibm.com>2008-02-26 22:23:45 +0000
committerThiago Jung Bauermann <bauerman@br.ibm.com>2008-02-26 22:23:45 +0000
commit5daa78cc6fc04e0367c11459bb2ae0531c8732ac (patch)
tree7279defc1368bb1ab66bb3f7888c3dd0a833c27e /gdb/amd64-tdep.c
parentcd72c291808dbf72aad1603f3c60cd72de62c8f8 (diff)
downloadgdb-5daa78cc6fc04e0367c11459bb2ae0531c8732ac.zip
gdb-5daa78cc6fc04e0367c11459bb2ae0531c8732ac.tar.gz
gdb-5daa78cc6fc04e0367c11459bb2ae0531c8732ac.tar.bz2
* amd64-tdep.c (amd64_classify): Add support for decimal float
types. * i386-tdep.c (i386_return_value): Make 128-bit decimal float use the struct return convention.
Diffstat (limited to 'gdb/amd64-tdep.c')
-rw-r--r--gdb/amd64-tdep.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index fae24a4..6cc82bb 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -364,15 +364,19 @@ amd64_classify (struct type *type, enum amd64_reg_class class[2])
&& (len == 1 || len == 2 || len == 4 || len == 8))
class[0] = AMD64_INTEGER;
- /* Arguments of types float, double and __m64 are in class SSE. */
- else if (code == TYPE_CODE_FLT && (len == 4 || len == 8))
+ /* Arguments of types float, double, _Decimal32, _Decimal64 and __m64
+ are in class SSE. */
+ else if ((code == TYPE_CODE_FLT || code == TYPE_CODE_DECFLOAT)
+ && (len == 4 || len == 8))
/* FIXME: __m64 . */
class[0] = AMD64_SSE;
- /* Arguments of types __float128 and __m128 are split into two
- halves. The least significant ones belong to class SSE, the most
+ /* Arguments of types __float128, _Decimal128 and __m128 are split into
+ two halves. The least significant ones belong to class SSE, the most
significant one to class SSEUP. */
- /* FIXME: __float128, __m128. */
+ else if (code == TYPE_CODE_DECFLOAT && len == 16)
+ /* FIXME: __float128, __m128. */
+ class[0] = AMD64_SSE, class[1] = AMD64_SSEUP;
/* The 64-bit mantissa of arguments of type long double belongs to
class X87, the 16-bit exponent plus 6 bytes of padding belongs to