I'll update the comment to state the that change was approved by Sun. Doug > -----Original Message----- > From: s...@open64.net [mailto:s...@open64.net] > Sent: Thursday, January 20, 2011 10:34 AM > To: open64-devel@lists.sourceforge.net > Subject: [Open64-devel] r3466 - in trunk/osprey: be/com common/com > kg++fe wgen > > Author: dgilmore > Date: 2011-01-20 13:34:10 -0500 (Thu, 20 Jan 2011) > New Revision: 3466 > > Modified: > trunk/osprey/be/com/emulate.cxx > trunk/osprey/common/com/intrn_entry.def > trunk/osprey/kg++fe/wfe_expr.cxx > trunk/osprey/wgen/wgen_expr.cxx > Log: > Fix to bug 628 (fix ported from PSC 3.2 compiler). > > Modified: trunk/osprey/be/com/emulate.cxx > =================================================================== > --- trunk/osprey/be/com/emulate.cxx 2011-01-20 03:55:03 UTC (rev 3465) > +++ trunk/osprey/be/com/emulate.cxx 2011-01-20 18:34:10 UTC (rev 3466) > @@ -3,10 +3,14 @@ > */ > > /* > - * Copyright (C) 2006. QLogic Corporation. All Rights Reserved. > + * Copyright (C) 2007, 2008 PathScale, LLC. All Rights Reserved. > */ > > /* > + * Copyright (C) 2006, 2007. QLogic Corporation. All Rights Reserved. > + */ > + > +/* > * Copyright 2003, 2004, 2005, 2006 PathScale, Inc. All Rights > Reserved. > */ > > @@ -4716,7 +4720,7 @@ > st = Gen_Intrinsic_Function(ty, "__memcpy_pathscale_opteron"); > } > #endif > - else if (WN_intrinsic(tree) == INTRN_I4POPCNT && > + else if (WN_intrinsic(tree) == INTRN_POPCOUNT && > MTYPE_byte_size(WN_rtype(WN_kid0(tree))) <= 4 && > Is_Target_32bit()) { > st = Gen_Intrinsic_Function(ty, "__popcountsi2"); > @@ -4732,7 +4736,7 @@ > } > #elif defined(TARG_MIPS) && !defined(TARG_SL) > > - if (WN_intrinsic(tree) == INTRN_I4POPCNT && > + if (WN_intrinsic(tree) == INTRN_POPCOUNT && > MTYPE_byte_size(WN_rtype(WN_kid0(tree))) <= 4) { > // Zero extend U4 to U8 > // args[0] = WN_Cvt(MTYPE_U4, MTYPE_U8, args[0]); > @@ -5023,6 +5027,7 @@ > case INTRN_I2POPCNT: > case INTRN_I4POPCNT: > case INTRN_I8POPCNT: > + case INTRN_POPCOUNT: > { > INT bitsize = MTYPE_size_reg(WN_rtype(by_value(tree, 0))); > switch (id) { > > Modified: trunk/osprey/common/com/intrn_entry.def > =================================================================== > --- trunk/osprey/common/com/intrn_entry.def 2011-01-20 03:55:03 UTC > (rev 3465) > +++ trunk/osprey/common/com/intrn_entry.def 2011-01-20 18:34:10 UTC > (rev 3466) > @@ -1,4 +1,7 @@ > /* > + * Copyright (C) 2009-2010 Advanced Micro Devices, Inc. All Rights > Reserved. > + */ > +/* > * Copyright (C) 2007. QLogic Corporation. All Rights Reserved. > */ > > @@ -2819,6 +2822,10 @@ > DEF_INTRN_ENTRY(INTRN_FQUNORDERED, "FQUNORDERED", BYVAL, PURE, > NO_SIDEEFFECTS, > DOES_RETURN, NOT_ACTUAL, NOT_CGINTRINSIC, NOT_SLAVE, > IRETURN_I4, NULL, "FQUNORDERED", "unorderedl") > +/* POPCOUNT */ > +DEF_INTRN_ENTRY(INTRN_POPCOUNT, "POPCOUNT", BYVAL, PURE, > NO_SIDEEFFECTS, > + DOES_RETURN, NOT_ACTUAL, NOT_CGINTRINSIC, NOT_SLAVE, > + IRETURN_I4, NULL, "POPCOUNT", "__popcount") > /* I1POPCNT */ > DEF_INTRN_ENTRY(INTRN_I1POPCNT, "I1POPCNT", BYVAL, PURE, > NO_SIDEEFFECTS, > DOES_RETURN, NOT_ACTUAL, NOT_CGINTRINSIC, NOT_SLAVE, > > Modified: trunk/osprey/kg++fe/wfe_expr.cxx > =================================================================== > --- trunk/osprey/kg++fe/wfe_expr.cxx 2011-01-20 03:55:03 UTC (rev > 3465) > +++ trunk/osprey/kg++fe/wfe_expr.cxx 2011-01-20 18:34:10 UTC (rev > 3466) > @@ -3,9 +3,13 @@ > */ > > /* > - * Copyright (C) 2006. QLogic Corporation. All Rights Reserved. > + * Copyright (C) 2007, 2008 Pathscale, LLC. All Rights Reserved. > */ > > +/* > + * Copyright (C) 2006, 2007. QLogic Corporation. All Rights Reserved. > + */ > + > /* > Copyright 2003, 2004, 2005, 2006 PathScale, Inc. All Rights > Reserved. > File modified October 9, 2003 by PathScale, Inc. to update Open64 > C/C++ > @@ -6606,15 +6610,9 @@ > break; > > case BUILT_IN_POPCOUNT: > - iopc = INTRN_I4POPCNT; > - intrinsic_op = TRUE; > - break; > case BUILT_IN_POPCOUNTL: > - iopc = Is_Target_32bit() ? INTRN_I4POPCNT : > INTRN_I8POPCNT; > - intrinsic_op = TRUE; > - break; > case BUILT_IN_POPCOUNTLL: > - iopc = INTRN_I8POPCNT; > + iopc = INTRN_POPCOUNT; > intrinsic_op = TRUE; > break; > > > Modified: trunk/osprey/wgen/wgen_expr.cxx > =================================================================== > --- trunk/osprey/wgen/wgen_expr.cxx 2011-01-20 03:55:03 UTC (rev 3465) > +++ trunk/osprey/wgen/wgen_expr.cxx 2011-01-20 18:34:10 UTC (rev 3466) > @@ -3,7 +3,7 @@ > */ > > /* > - * Copyright (C) 2007 PathScale, LLC. All Rights Reserved. > + * Copyright (C) 2007, 2008 PathScale, LLC. All Rights Reserved. > */ > > /* > @@ -9069,15 +9069,9 @@ > break; > > case GSBI_BUILT_IN_POPCOUNT: > - iopc = INTRN_I4POPCNT; > - intrinsic_op = TRUE; > - break; > case GSBI_BUILT_IN_POPCOUNTL: > - iopc = Is_Target_32bit() ? INTRN_I4POPCNT : > INTRN_I8POPCNT; > - intrinsic_op = TRUE; > - break; > case GSBI_BUILT_IN_POPCOUNTLL: > - iopc = INTRN_I8POPCNT; > + iopc = INTRN_POPCOUNT; > intrinsic_op = TRUE; > break; > > > > ----------------------------------------------------------------------- > ------- > 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
------------------------------------------------------------------------------ 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