Thanks, you are right. The LNO_Iter_threshold is set based on target.
So,
Index: osprey/common/com/config_lno.cxx
===================================================================
--- osprey/common/com/config_lno.cxx (revision 3682)
+++ osprey/common/com/config_lno.cxx (working copy)
@@ -1232,7 +1232,9 @@
the flag is set based on target. Otherwise use user-specified value.
*/
if(LNO_Iter_threshold == 1) {
+#ifdef TARG_X8664
LNO_Iter_threshold = (Is_Target_SSE41())? 8 : 0;
+#endif
}
}
Index: osprey/be/cg/whirl2ops.cxx
==============================
=====================================
--- osprey/be/cg/whirl2ops.cxx (revision 3681)
+++ osprey/cg/whirl2ops.cxx (working copy)
@@ -3166,6 +3166,7 @@
WN *compare;
VARIANT variant;
+#ifdef TARG_X8664
if (opcode == OPC_V16I1V16I1SELECT) {
TN* op1 = Expand_Expr(WN_kid0(select), select, NULL);
TN* op2 = Expand_Expr(WN_kid1(select), select, NULL);
@@ -3177,6 +3178,7 @@
Expand_Select(result, op1, op2, op3, MTYPE_V16I1, FALSE, &New_OPs);
//FALSE passed as dummy arg
return result;
}
+#endif
Gang
On Fri, Jul 8, 2011 at 5:15 PM, Sun Chan <sun.c...@gmail.com> wrote:
> the #ifdef can be done inside Is_target_SSE...
> Sun
>
> On Fri, Jul 8, 2011 at 1:24 AM, Gang Yu <yugang...@gmail.com> wrote:
> > Hi,
> >
> > SL target builds fail today due to the LNO check-in v3681, the build
> fail
> > comes from the patch:
> >
> > Index: config_lno.cxx
> > ===================================================================
> > --- config_lno.cxx (revision 3643)
> > +++ config_lno.cxx (revision 3681)
> > @@ -1224,5 +1227,12 @@
> > Mhd_Options.L[i].TLB_Miss_Penalty;
> > }
> > }
> > +
> > + /* Value of 1 for LNO_Iter_threshold is interpreted as default in
> which
> > case
> > + the flag is set based on target. Otherwise use user-specified
> value.
> > + */
> > + if(LNO_Iter_threshold == 1) {
> > + LNO_Iter_threshold = (Is_Target_SSE41())? 8 : 0;
> > + }
> > }
> > Index: /home/yugang/trunk/trunk/osprey/be/cg/whirl2ops.cxx
> > ===================================================================
> > --- /home/yugang/trunk/trunk/osprey/be/cg/whirl2ops.cxx (revision 3666)
> > +++ /home/yugang/trunk/trunk/osprey/be/cg/whirl2ops.cxx (revision 3681)
> > @@ -3166,9 +3166,18 @@
> > WN *compare;
> > VARIANT variant;
> >
> > + if (opcode == OPC_V16I1V16I1SELECT) {
> > + TN* op1 = Expand_Expr(WN_kid0(select), select, NULL);
> > + TN* op2 = Expand_Expr(WN_kid1(select), select, NULL);
> > + TN* op3 = Expand_Expr(WN_kid2(select), select, NULL);
> >
> > + if (result == NULL)
> > + result = Allocate_Result_TN (select, NULL);
> > +
> > + Expand_Select(result, op1, op2, op3, MTYPE_V16I1, FALSE, &New_OPs);
> > //FALSE passed as dummy arg
> > + return result;
> > + }
> >
> > the "Is_Target_SSE41()", "OPC_V16I1V16I1SELECT" and "MTYPE_V16I1" are
> > specific to X86 targets, these patches will cause other targets fail,
> >
> > The suggest patche is:
> > Index: config_lno.cxx
> > ===================================================================
> > --- config_lno.cxx (revision 3681)
> > +++ config_lno.cxx (working copy)
> > @@ -1228,11 +1228,13 @@
> > }
> > }
> >
> > +#ifdef TARG_X8664
> > /* Value of 1 for LNO_Iter_threshold is interpreted as default in
> which
> > case
> > the flag is set based on target. Otherwise use user-specified
> value.
> > */
> > if(LNO_Iter_threshold == 1) {
> > LNO_Iter_threshold = (Is_Target_SSE41())? 8 : 0;
> > }
> > +#endif
> > }
> >
> > Index: ../../be/cg/whirl2ops.cxx
> > ===================================================================
> > --- ../../be/cg/whirl2ops.cxx (revision 3681)
> > +++ ../../be/cg/whirl2ops.cxx (working copy)
> > @@ -3166,6 +3166,7 @@
> > WN *compare;
> > VARIANT variant;
> >
> > +#ifdef TARG_X8664
> > if (opcode == OPC_V16I1V16I1SELECT) {
> > TN* op1 = Expand_Expr(WN_kid0(select), select, NULL);
> > TN* op2 = Expand_Expr(WN_kid1(select), select, NULL);
> > @@ -3177,6 +3178,7 @@
> > Expand_Select(result, op1, op2, op3, MTYPE_V16I1, FALSE, &New_OPs);
> > //FALSE passed as dummy arg
> > return result;
> > }
> > +#endif
> >
> >
> >
> > Would a gatekeeper help a review?
> >
> > Thanks
> >
> >
> > Gang
> >
> >
> ------------------------------------------------------------------------------
> > All of the data generated in your IT infrastructure is seriously
> valuable.
> > Why? It contains a definitive record of application performance, security
> > threats, fraudulent activity, and more. Splunk takes this data and makes
> > sense of it. IT sense. And common sense.
> > http://p.sf.net/sfu/splunk-d2d-c2
> > _______________________________________________
> > Open64-devel mailing list
> > Open64-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/open64-devel
> >
> >
>
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel