public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-3086] [Committed] Restore build on !TARGET_TRULY_NOOP_TRUNCATION targets
@ 2021-08-23 14:35 Roger Sayle
  0 siblings, 0 replies; only message in thread
From: Roger Sayle @ 2021-08-23 14:35 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:89ff4f027b5c92e96a8527920b8ccc3b94aec672

commit r12-3086-g89ff4f027b5c92e96a8527920b8ccc3b94aec672
Author: Roger Sayle <roger@nextmovesoftware.com>
Date:   Mon Aug 23 15:35:05 2021 +0100

    [Committed] Restore build on !TARGET_TRULY_NOOP_TRUNCATION targets
    
    My sincere apologies to everyone, but especially Andrew Pinski
    who warned me in advance that TRULY_NOOP_TRUNCATION results in
    different code paths/optimizations on some targets. This restores
    the build on nvptx-none (and presumably others) where mysteriously
    (truncate:QI (reg:QI)) fails to be simplified to (reg:QI), which
    is expected (everywhere) in my recently added self-tests.
    
    2021-08-23  Roger Sayle  <roger@nextmovesoftware.com>
    
    gcc/ChangeLog
            * simplify-rtx.c (simplify_unary_operation_1): [TRUNCATE]:
            Handle case where the operand is already the desired mode.

Diff:
---
 gcc/simplify-rtx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index f3df6140766..8eea9fb7e0a 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -1268,6 +1268,9 @@ simplify_context::simplify_unary_operation_1 (rtx_code code, machine_mode mode,
 	    return temp;
 	}
 
+      /* Check for useless truncation.  */
+      if (GET_MODE (op) == mode)
+	return op;
       break;
 
     case FLOAT_TRUNCATE:


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-23 14:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-23 14:35 [gcc r12-3086] [Committed] Restore build on !TARGET_TRULY_NOOP_TRUNCATION targets Roger Sayle

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).