This is the mail archive of the gcc-bugs@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]

[Bug rtl-optimization/17387] Redundant zero extension instructions in loop optimization



------- Comment #24 from hjl dot tools at gmail dot com  2009-02-18 21:24 -------
I tried:

--- config/i386/i386.h.zero     2009-02-18 08:42:40.000000000 -0800
+++ config/i386/i386.h  2009-02-18 13:16:26.000000000 -0800
@@ -1940,6 +1940,11 @@ do {                                                    
\
    is done just by pretending it is already truncated.  */
 #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1

+/* When in 64-bit mode, move insns will zero extend SImode.  All other
+   references are unknown.  */
+#define LOAD_EXTEND_OP(MODE) \
+  (TARGET_64BIT && (MODE) == SImode ? ZERO_EXTEND : UNKNOWN)
+
 /* A macro to update M and UNSIGNEDP when an object whose type is
    TYPE and which has the specified mode and signedness is to be
    stored in a register.  This macro is only called when TYPE is a

It makes no differences.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17387


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