[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.
This commit is contained in:
Roger Sayle 2021-08-23 15:35:05 +01:00
parent 0230e69a3f
commit 89ff4f027b

View File

@ -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: