diff options
author | Jan Hubicka <jh@suse.cz> | 2003-11-22 17:11:27 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-11-22 16:11:27 +0000 |
commit | cf2348cb34832645326d71c306ac25d12bec5e60 (patch) | |
tree | 9df700f9209c594ee17de6bccec1e05c2c157201 | |
parent | dd4c376388b556043897a092d6ec212418d7b685 (diff) | |
download | gcc-cf2348cb34832645326d71c306ac25d12bec5e60.zip gcc-cf2348cb34832645326d71c306ac25d12bec5e60.tar.gz gcc-cf2348cb34832645326d71c306ac25d12bec5e60.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 20 |
2 files changed, 9 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 968e627..3861484 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-11-22 Jan Hubicka <jh@suse.cz> + + * i386.c (classify_argument): Pass __float128 in memory. + (ix86_return_in_memory): Likewise. + (ix86_libcall_value): Likewsie. + 2003-11-22 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (dosize): Convert to ISO-C. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8060371..240e46a 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: |