Hi Uros,
This cleans up the use of [(clobber (const_int 0))] in the i386 backend.
My apologies I must have copied this idiom from one of the other targets:
aarch64.md, arm.md, thumb1.md, avr.md, or sparc.md.
This patch has been tested on x86_64-pc-linux-gnu with make bootstrap
and make -k check, both with and without --target_board=unix{-m32}
with no new failures. Ok for mainline?
2023-05-10 Roger Sayle
gcc/ChangeLog
* config/i386/i386.md (*concat3_1): Use preferred
[(const_int 0)] idiom, instead of [(clobber (const_int 0))].
(*concat3_2): Likewise.
(*concat3_3): Likewise.
(*concat3_4): Likewise.
(*concat3_5): Likewise.
(*concat3_6): Likewise.
(*concat3_7): Likewise.
Thanks,
Roger
--
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index cf90867..f2dd67e 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11584,7 +11584,7 @@
"INTVAL (operands[2]) == * BITS_PER_UNIT"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
split_double_concat (mode, operands[0], operands[3],
gen_lowpart (mode, operands[1]));
@@ -11601,7 +11601,7 @@
"INTVAL (operands[3]) == * BITS_PER_UNIT"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
split_double_concat (mode, operands[0], operands[1],
gen_lowpart (mode, operands[2]));
@@ -11620,7 +11620,7 @@
"INTVAL (operands[2]) == * BITS_PER_UNIT"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
split_double_concat (mode, operands[0], operands[3], operands[1]);
DONE;
@@ -11638,7 +11638,7 @@
"INTVAL (operands[3]) == * BITS_PER_UNIT"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
split_double_concat (mode, operands[0], operands[1], operands[2]);
DONE;
@@ -11665,7 +11665,7 @@
VOIDmode))"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
rtx op3 = simplify_subreg (mode, operands[3], mode, 0);
split_double_concat (mode, operands[0], op3,
@@ -11697,7 +11697,7 @@
VOIDmode))"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
rtx op3 = simplify_subreg (mode, operands[3], mode, 0);
split_double_concat (mode, operands[0], op3, operands[1]);
@@ -11723,7 +11723,7 @@
VOIDmode)"
"#"
"&& reload_completed"
- [(clobber (const_int 0))]
+ [(const_int 0)]
{
rtx op2;
if (mode == DImode)