This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] remove split condition from *fix_truncdi_1, *fix_truncsi_1


Zack Weinberg wrote:

- ""
+ "&& 1"



Aren't these functionally identical? If not, why not?




They are functionally identical. Now, the only way to unify all *fix_trunc?i patterns is to remove a split constraint
from the other two patterns.


BTW: In i386.md I have found a couple of places with ... && 1, which I guess could be safely removed...

Patch was bootstrapped and regtested on i686-pc-linux-gnu, c and c++.

2004-11-12 Uros Bizjak <uros@kss-loka.si>

     * configure/i386/i386.md: (*fix_truncdi_1, *fix_truncsi_1):
     Remove unneeded "&& 1" from split constraint.
     (two unnamed define_peephole2): Remove unneeded "&& 1" from
     constraints.

Uros.

Index: i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.562
diff -u -p -r1.562 i386.md
--- i386.md	18 Oct 2004 13:01:31 -0000	1.562
+++ i386.md	12 Nov 2004 12:34:13 -0000
@@ -1870,7 +1870,7 @@
   [(set (match_operand:DI 0 "push_operand" "")
         (match_operand:DI 1 "immediate_operand" ""))]
   "TARGET_64BIT && !symbolic_operand (operands[1], DImode)
-   && !x86_64_immediate_operand (operands[1], DImode) && 1"
+   && !x86_64_immediate_operand (operands[1], DImode)"
   [(set (match_dup 0) (match_dup 1))
    (set (match_dup 2) (match_dup 3))]
   "split_di (operands + 1, 1, operands + 2, operands + 3);
@@ -2136,7 +2136,7 @@
   [(set (match_operand:DI 0 "memory_operand" "")
         (match_operand:DI 1 "immediate_operand" ""))]
   "TARGET_64BIT && !symbolic_operand (operands[1], DImode)
-   && !x86_64_immediate_operand (operands[1], DImode) && 1"
+   && !x86_64_immediate_operand (operands[1], DImode)"
   [(set (match_dup 2) (match_dup 3))
    (set (match_dup 4) (match_dup 5))]
   "split_di (operands, 2, operands + 2, operands + 4);")
@@ -4093,7 +4093,7 @@
    && !reload_completed && !reload_in_progress
    && (!SSE_FLOAT_MODE_P (GET_MODE (operands[1])) || !TARGET_64BIT)"
   "#"
-  "&& 1"
+  ""
   [(const_int 0)]
 {
   ix86_optimize_mode_switching = 1;
@@ -4261,7 +4261,7 @@
    && !reload_completed && !reload_in_progress
    && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"
   "#"
-  "&& 1"
+  ""
   [(const_int 0)]
 {
   ix86_optimize_mode_switching = 1;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]