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
next 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: linkBe 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).