This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc 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]

Re: new alpha division routines


Here are timings of your test program with (A) old remqu, (B) your
routine, modified to avoid FIX insns, (C) my new routine, tested
against (X) 233MHz ev45, (Y) 500MHz ev56, (Z) 617Mhz ev67.

It appears that ev4 *really* preferrs to avoid the second division.
Perhaps that's aided by using divs the second time.  But even ev56
and ev67 still see a slight win with my routine.


r~


EV45, old:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  42  42  42  42  42   42    42      42         42
               f  85  71  46  46  46   46    46      46         46
              fe 125 114  92  57  57   46    46      46         46
             fed 169 158 136 114 103   57    46      46         46
            fedc 213 202 180 158 147  103    46      46         46
          fedcba 301 290 268 246 235  191   103      46         46
        fedcba98 389 378 356 334 323  279   191     103         46
      fedcba9876 477 466 444 422 411  367   279     191         46
    fedcba987654 565 554 532 510 499  455   367     279        136
  fedcba98765432 653 642 620 598 587  543   455     367        224
 3fb72ea61d950c8 675 664 642 620 609  565   477     389        246
 fedcba987654321 697 686 664 642 631  587   499     411        268

EV45, yours:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0 119 119 119 119  23  119   119     119        119
               f 182 119 119 119  23  119   119     119        119
              fe 194 201 189 119  23  119   119     119        119
             fed 183 186 188 195  23  119   119     119        119
            fedc 183 199 205 195  23  193   119     119        119
          fedcba 184 190 205 194  23  197   195     119        119
        fedcba98 191 197 194 185  23  194   195     197        119
      fedcba9876 187 193 203 189  23  190   196     200        119
    fedcba987654 187 193 198 191  23  194   196     198        198
  fedcba98765432 188 260 265 190  23  198   198     194        196
 3fb72ea61d950c8 269 260 265 190  23  198   198     194        196
 fedcba987654321 257 279 272 259  23  198   198     194        196

EV45, mine:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  98 107  93  94  84  100    88      90         86
               f  85 105  92  86  87   95    85      93         85
              fe  97 104  92  84  89   92    85      95         86
             fed  86  89  91  98  91   95    94      98         91
            fedc  86 102 108  98  92   96    94      98         90
          fedcba  87  93 108  97  95  100    98     100         94
        fedcba98  94 100  97  88  96   97    98     100         96
      fedcba9876  90  96 106  92 100   93    99     103         98
    fedcba987654  90  96 101  94 101   97    99     101        101
  fedcba98765432 115 139 125 117 127  125   125     121        123
 3fb72ea61d950c8 154 172 148 117 127  125   125     121        123
 fedcba987654321 179 200 181 140 127  125   125     121        123

EV56, old:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  39  39  39  39  39   39    39      39         39
               f  67  60  39  39  39   39    39      39         39
              fe  90  83  69  57  57   39    39      39         39
             fed 118 111  97  83  76   57    39      39         39
            fedc 146 139 125 111 104   76    39      39         39
          fedcba 202 195 181 167 160  132    76      39         39
        fedcba98 258 251 237 223 216  188   132      76         39
      fedcba9876 314 307 293 279 272  244   188     132         39
    fedcba987654 370 363 349 335 328  300   244     188         97
  fedcba98765432 426 419 405 391 384  356   300     244        153
 3fb72ea61d950c8 440 433 419 405 398  370   314     258        167
 fedcba987654321 454 447 433 419 412  384   328     272        181

EV56, yours:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  29  29  29  29  19   29    29      29         29
               f  93  29  29  29  19   29    29      29         29
              fe 105 112 100  29  19   29    29      29         29
             fed  94  98 100 106  19   29    29      29         29
            fedc  95 110 116 106  19  103    29      29         29
          fedcba  96 101 116 105  19  107   106      29         29
        fedcba98 102 108 105  96  19  105   106     108         29
      fedcba9876  99 104 113 100  19  101   108     110         29
    fedcba987654  99 104 110 102  19  106   108     108        109
  fedcba98765432  99 158 163 101  19  108   109     106        107
 3fb72ea61d950c8 166 158 163 101  19  108   109     106        107
 fedcba987654321 154 176 170 157  19  108   109     106        107

EV56, mine:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  83  91  78  80  70   84    73      75         72
               f  70  90  78  72  72   80    71      79         70
              fe  82  89  77  70  74   77    71      79         71
             fed  71  75  77  83  76   81    80      83         75
            fedc  72  87  93  83  78   80    79      82         75
          fedcba  73  78  93  82  80   84    83      84         79
        fedcba98  79  85  82  73  82   82    83      85         81
      fedcba9876  76  81  90  77  85   78    85      87         83
    fedcba987654  76  81  87  79  87   83    85      85         86
  fedcba98765432  89 110  99  91 100   98    99      96         97
 3fb72ea61d950c8 122 133 126  91 100   98    99      96         97
 fedcba987654321 129 141 139 118 100   98    99      96         97

EV67, old:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  19  17  20  19  19   19    20      19         37
               f  35  30  19  19  17   17    17      19         19
              fe  70  50  40  26  23   19    37      19         19
             fed 101  95  72  50  45   23    19      19         19
            fedc 125 135 122  98  84   45    20      19         19
          fedcba 152 147 137 126 122  128    45      20         37
        fedcba98 209 204 194 183 179  159   132      45         20
      fedcba9876 231 227 216 207 201  182   141     128         19
    fedcba987654 272 267 257 246 242  222   182     141         72
  fedcba98765432 312 306 297 287 282  261   222     182        131
 3fb72ea61d950c8 321 317 306 297 291  272   231     192        126
 fedcba987654321 332 327 317 306 302  282   242     201        137

EV67, yours:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  55  55  55  55  12   55    55      55         55
               f 113  55  55  55  11   55    55      56         55
              fe 123 100  96  55  11   55    55      55         55
             fed 123 113 113 113  12   55    55      55         55
            fedc 113 123 113 113  12  113    55      55         55
          fedcba  96 104 124 113  11  113   113      55         55
        fedcba98 113 124 123 113  11  113   118     113         55
      fedcba9876 124 113 113 124  12  153   100     113         56
    fedcba987654 113 113 113 113  11  113   113     113        124
  fedcba98765432  97 169 169 113  11  113    94     113        113
 3fb72ea61d950c8 133 133 155  94  12  100    94      94        113
 fedcba987654321 155 138 155 155  12  123   113     118        113

EV67, mine:
                   3   7  1f  7f  80  7f7 7ffff 7ffffd9 ffffffffff
               0  73  73  73  74  74   74    74      74         74
               f  74  86  86  88  86   86    88      86         88
              fe  86  88  86  88 101   87    86      86         88
             fed  86  86  86  86  88   86    86      86         88
            fedc  86  86  86  86  86   87    88      86         86
          fedcba  86  86  88  86  86   86    87      86         88
        fedcba98  86  86  88  86  86   86    88      86         86
      fedcba9876  88  87  86  86  86   88    86      88         86
    fedcba987654  86  86  86  86  86   86    86      88         88
  fedcba98765432  83  88  99  99  99   99    99      99         99
 3fb72ea61d950c8 112 117  87  99  99   99    99      99         99
 fedcba987654321 122 135 123 109  99   99    99      99         99


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