public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Michael Meissner <meissner@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org
Subject: [gcc(refs/users/meissner/heads/work097)] Update ChangeLog.meissner.
Date: Thu, 11 Aug 2022 21:16:34 +0000 (GMT)	[thread overview]
Message-ID: <20220811211634.34D793858C74@sourceware.org> (raw)

https://gcc.gnu.org/g:2014c1c94faf39e804d7a41793bf4fc826aebd04

commit 2014c1c94faf39e804d7a41793bf4fc826aebd04
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Thu Aug 11 17:16:17 2022 -0400

    Update ChangeLog.meissner.
    
    2022-08-11   Michael Meissner  <meissner@linux.ibm.com>
    
    gcc/
    
            * ChangeLog.meissner: Update.

Diff:
---
 gcc/ChangeLog.meissner | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index dc7c9c8e599..ee10725921a 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,99 @@
+==================== work097, patch007
+
+Add predicates to inter-mix 128-bit floating point modes.
+
+This patch adds two new predicates (ieee128_operand and ibm128_operand) that
+allow KFmode and TFmode to be used inter-changeably when long double is IEEE
+128-bit, and IFmode and TFmode to be used inter-changeabily with long double is
+IBM 128-bit.
+
+The various built-in functions that use KFmode or IFmode have been modified to
+use these new predicates.
+
+The code in rs6000_expand_builtin that switched between the KFmode and TFmode
+built-in functions and the code that switched between the IFmode and TFmode
+built-in functions has been modified so it looks at the argument type.  If a
+TFmode argument was passed, it will convert the built-in to from using KFmode or
+IFmode to one using TFmode.
+
+The nop conversion functions between IFmode and TFmode when long double uses IBM
+128-bit have been extended so that they take GPR registers as well as FPR
+registers.  This is to allow the test "pr105334.c" to pass.  This test wants to
+use -msoft-float along with the __ibm128 pack/unpack functions.
+
+2022-08-11   Michael Meissner  <meissner@linux.ibm.com>
+
+gcc/
+
+	* config/rs6000/predicates.md (ieee128_operand): New predicate.
+	(ibm128_operand): Likewise.
+	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Rework code
+	that switches KFmode and IFmode built-in functions to TFmode to look at
+	the argument's mode, and not just use the switch.
+	* config/rs6000/rs6000.md (extendkftf2_internal): Add support for using
+	GPR registers.
+	(extendtfkf2_internal): Likewise.
+	(extendiftf2_internal): Likewise.
+	(extendtfif2_internal): Likewise.
+	(unpack<mode>): Use ibm128_operand for TFmode/IFmode operands.
+	(unpack<mode>_dm): Likewise.
+	(unpack<mode>_nodm): Likewise.
+	(pack<mode>_hard): Likewise.
+	(unpack<mode>): Likewise.
+	(pack<mode>): Likewise.
+	(trunc<mode>sf2_hw): Use ieee128_operand for TFmode/KFmode operands.
+	(add<mode>3_odd): Likewise.
+	(sub<mode>3_odd): Likewise.
+	(mul<mode>3_odd): Likewise.
+	(div<mode>3_odd): Likewise.
+	(sqrt<mode>2_odd): Likewise.
+	(fma<mode>4_odd): Likewise.
+	(fms<mode>4_odd): Likewise.
+	(nfma<mode>4_odd): Likewise.
+	(nfms<mode>4_odd): Likewise.
+	(trunc<mode>df2_odd): Likewise.
+	(cmp<mode>_hw): Likewise.
+	* config/rs6000/vsx.md (xsxexpqp_<mode>): Likewise.
+	(xsxsigqp_<mode>): Likewise.
+	(xsiexpqpf_<mode): Likewise.
+	(xsiexpqp_<mode>): Likewise.
+	(xscmpexpqp_<code>_<mode>): Likewise.
+	(xscmpexpqp_<code>_<mode>): Likewise.
+	(xststdcqp_<mode>): Likewise.
+	(xststdcnegqp_<mode): Likewise.
+	(xststdcqp_<mode): Likewise.
+
+==================== work097, patch006 was reverted
+
+==================== work097, patch005
+
+Improve converting between 128-bit modes that use the same format.
+
+This patch improves the insns used for converting between two modes using
+the 128-bit floating point format (i.e. converting between KFmode and TFmode if
+-mabi=ieeelongdouble is used, and converting between IFmode and TFmode if
+-mabi=ibmlongdouble is used).  The new insns have the correct insn type and
+instruction length for the move involved.
+
+2022-08-10   Michael Meissner  <meissner@linux.ibm.com>
+
+gcc/
+
+	* config/rs6000/rs6000.md (IFKF): Delete.
+	(IFKF_reg): Delete.
+	(extendkfif2): New define_expand.
+	(trunckfif2): New define_expand.
+	(extend<mode>tf2_internal): Split into extendiftf2_internal and
+	extendkftf2_internal.  Update the insns to use the correct insn type and
+	length attributes based on whether KFmode or IFmode is used.
+	(extendiftf2_internal): Likewise.
+	(extendkftf2_internal): Likewise.
+	(extendtf<mode>2_internal): Split into extendtfif2_internal and
+	extendtfkf2_internal.  Update the insns to use the correct insn type and
+	length attributes based on whether KFmode or IFmode is used.
+	(extendtfif2_internal): Likewise.
+	(extendtfkf2_internal): Likewise.
+
 ==================== work097, patch004 was reverted
 
 ==================== work097, patch003 was reverted


             reply	other threads:[~2022-08-11 21:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11 21:16 Michael Meissner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-13  2:16 Michael Meissner
2022-08-12 21:19 Michael Meissner
2022-08-12 19:59 Michael Meissner
2022-08-12  4:19 Michael Meissner
2022-08-12  1:12 Michael Meissner
2022-08-10  7:04 Michael Meissner
2022-08-09 22:32 Michael Meissner
2022-08-09 21:06 Michael Meissner
2022-08-09 20:53 Michael Meissner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220811211634.34D793858C74@sourceware.org \
    --to=meissner@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).