File tree Expand file tree Collapse file tree 1 file changed +0
-32
lines changed
program/src/oracle/sort/tmpl Expand file tree Collapse file tree 1 file changed +0
-32
lines changed Original file line number Diff line number Diff line change @@ -173,38 +173,6 @@ SORT_IMPL(stable_node)( SORT_KEY_T * x,
173173 }
174174 }
175175
176- # if 0 /* These variants of the above don't seem to produce much better code */
177- do { /* Single loop exit */
178- if ( SORT_BEFORE ( yr [k ], yl [j ] ) ) x [i ++ ] = yr [k ++ ];
179- else x [i ++ ] = yl [j ++ ];
180- } while ( (j < nl ) && (k < nr ) );
181-
182- do { /* Single loop exit, minimal mem ops and branching */
183- SORT_KEY_T yj = yl [j ];
184- SORT_KEY_T yk = yr [k ];
185- int c = SORT_BEFORE ( yk , yj );
186- x [i ++ ] = c ? yk : yj ;
187- j += (SORT_IDX_T )!c ;
188- k += (SORT_IDX_T ) c ;
189- } while ( (j < nl ) & (k < nr ) );
190-
191- do { /* Single loop exit, Minimal mem ops */
192- SORT_KEY_T yj = yl [j ];
193- SORT_KEY_T yk = yr [k ];
194- if ( SORT_BEFORE ( yk , yj ) ) x [i ++ ] = yk , k ++ ;
195- else x [i ++ ] = yj , j ++ ;
196- } while ( (j < nl ) && (k < nr ) );
197-
198- do { /* Single loop exit, trinary variant of above */
199- x [i ++ ] = SORT_BEFORE ( yr [k ], yl [j ] ) ? yr [k ++ ] : yl [j ++ ];
200- } while ( (j < nl ) && (k < nr ) );
201-
202- /* Append any stragglers */
203-
204- if ( j < nl ) do x [i ++ ] = yl [j ++ ]; while ( j < nl );
205- else do x [i ++ ] = yr [k ++ ]; while ( k < nr );
206- # endif
207-
208176 return x ;
209177}
210178
You can’t perform that action at this time.
0 commit comments