From cf2348cb34832645326d71c306ac25d12bec5e60 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 22 Nov 2003 17:11:27 +0100 Subject: [PATCH] i386.c (classify_argument): Pass __float128 in memory. * i386.c (classify_argument): Pass __float128 in memory. (ix86_return_in_memory): Likewise. (ix86_libcall_value): Likewsie. From-SVN: r73842 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 20 +++----------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 968e627cb8f..38614844760 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-11-22 Jan Hubicka + + * i386.c (classify_argument): Pass __float128 in memory. + (ix86_return_in_memory): Likewise. + (ix86_libcall_value): Likewsie. + 2003-11-22 Kazu Hirata * config/h8300/h8300.c (dosize): Convert to ISO-C. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 80603716cb5..240e46a3200 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2182,7 +2182,6 @@ classify_argument (enum machine_mode mode, tree type, return 1; case CDImode: case TImode: - case TCmode: classes[0] = classes[1] = X86_64_INTEGER_CLASS; return 2; case CTImode: @@ -2203,9 +2202,8 @@ classify_argument (enum machine_mode mode, tree type, classes[1] = X86_64_X87UP_CLASS; return 2; case TFmode: - classes[0] = X86_64_INTEGER_CLASS; - classes[1] = X86_64_INTEGER_CLASS; - return 2; + case TCmode: + return 0; case XCmode: classes[0] = X86_64_X87_CLASS; classes[1] = X86_64_X87UP_CLASS; @@ -2784,7 +2782,7 @@ ix86_return_in_memory (tree type) } } - if (mode == TFmode || mode == XFmode) + if (mode == XFmode) return 0; if (size > 12) @@ -2810,18 +2808,6 @@ ix86_libcall_value (enum machine_mode mode) case XCmode: return gen_rtx_REG (mode, FIRST_FLOAT_REG); case TFmode: - { - rtx ret = gen_rtx_PARALLEL (mode, rtvec_alloc (2)); - XVECEXP (ret, 0, 0) = gen_rtx_EXPR_LIST - (VOIDmode, - gen_rtx_REG (DImode, x86_64_int_parameter_registers [0]), - const0_rtx); - XVECEXP (ret, 0, 1) = gen_rtx_EXPR_LIST - (VOIDmode, - gen_rtx_REG (DImode, x86_64_int_parameter_registers [1]), - GEN_INT (64)); - return ret; - } case TCmode: return NULL; default: -- 2.30.2