Hi,

Could a gate keeper review the patch to bug 695? Thank you very much.

This bug is caused by the inconsistent of Promoted_Mtypes[] defined in both
vho_lower.cxx and wn_lower.cxx. When the SIMD types was added to the array,
only the definition in wn_lower.cxx is updated. In VHO lower phase, the old
one is still used. The patch removes the definition in vho_lower.cxx and
change the definition in wn_lower.cxx from static to global. So that we only
need to maintain one definition.

Index: com/wn_lower.cxx
===================================================================
--- com/wn_lower.cxx    (revision 3454)
+++ com/wn_lower.cxx    (working copy)
@@ -371,7 +371,7 @@

 static const char * MSTORE_ACTIONS_name(MSTORE_ACTIONS);

-static TYPE_ID Promoted_Mtype[MTYPE_LAST + 1] = {
+TYPE_ID Promoted_Mtype[MTYPE_LAST + 1] = {
   MTYPE_UNKNOWN,  /* MTYPE_UNKNOWN */
   MTYPE_UNKNOWN,  /* MTYPE_B */
   MTYPE_I4,       /* MTYPE_I1 */
Index: vho/vho_lower.cxx
===================================================================
--- vho/vho_lower.cxx   (revision 3454)
+++ vho/vho_lower.cxx   (working copy)
@@ -173,37 +173,10 @@

 /* Table used to promote integers less than 4 bytes into their
  * 4 byte counterparts in order to get the right type for OPCODE_make_op
+ * See definitions in wn_lower.cxx
  */
+extern TYPE_ID Promoted_Mtype [MTYPE_LAST + 1];

-TYPE_ID Promoted_Mtype [MTYPE_LAST + 1] = {
-  MTYPE_UNKNOWN,  /* MTYPE_UNKNOWN */
-  MTYPE_UNKNOWN,  /* MTYPE_B */
-  MTYPE_I4,       /* MTYPE_I1 */
-  MTYPE_I4,       /* MTYPE_I2 */
-  MTYPE_I4,       /* MTYPE_I4 */
-  MTYPE_I8,       /* MTYPE_I8 */
-  MTYPE_U4,       /* MTYPE_U1 */
-  MTYPE_U4,       /* MTYPE_U2 */
-  MTYPE_U4,       /* MTYPE_U4 */
-  MTYPE_U8,       /* MTYPE_U8 */
-  MTYPE_F4,       /* MTYPE_F4 */
-  MTYPE_F8,       /* MTYPE_F8 */
-  MTYPE_F10,      /* MTYPE_F10 */
-  MTYPE_UNKNOWN,  /* MTYPE_F16 */
-  MTYPE_UNKNOWN,  /* MTYPE_STR */
-  MTYPE_FQ,       /* MTYPE_FQ */
-  MTYPE_M,        /* MTYPE_M */
-  MTYPE_C4,       /* MTYPE_C4 */
-  MTYPE_C8,       /* MTYPE_C8 */
-  MTYPE_CQ,       /* MTYPE_CQ */
-  MTYPE_V,        /* MTYPE_V */
-  MTYPE_UNKNOWN,  /* MTYPE_BS */
-  MTYPE_UNKNOWN,  /* MTYPE_A4 */
-  MTYPE_UNKNOWN,  /* MTYPE_A8 */
-  MTYPE_C10,      /* MTYPE_C10 */
-  MTYPE_C16,      /* MTYPE_C16 */
-};
-
 #ifdef VHO_DEBUG
 static BOOL      VHO_Switch_Debug = TRUE;
 static BOOL      VHO_Struct_Debug = TRUE;

BTW, there are several bugs exposed by compiling the case of 695. I'm still
working on those and will submit more patch for that library.

-- 
Regards,
Lai Jian-Xin
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to