оптимизация переходов

Тема в разделе "WASM.ASSEMBLER", создана пользователем t00x, 17 фев 2008.

  1. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    помогите соптимизировать
    Код (Text):
    1.     test r10, r10       ;
    2.     jnz @add_can
    3.  
    4.     test r11, r9        ;
    5.     je @can_equ_ban
    6.  
    7.     test r15, r15       ;
    8.     jnz @nan_add_nan
    9.  
    10.     mov r14, r9     ;
    11.     shr r14, cl     ;
    12.     mov r15, r9     ;
    13.     add r15, r14        ;
    14.     jmp @cbb_add_nan    ;
    15. @nan_add_nan:
    16.     add r15, r15        ;
    17.  
    18. @cbb_add_nan:
    19.     add r8, r15     ;
    20.     mov rdx, r8
    21.  
    22. @can_equ_ban:
    23.     mov r10, r11        ;
    24.     jmp @xt0
    25.  
    26. @add_can:
    27.     add r10, r10        ;
    28. @xt0:
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Размер кода важен ?
     
  3. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    оптимизация по скорости, желательно без переходов.
     
  4. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    t00x
    Какие регистры используются на выходе?
    [offtop] Разница во времени WASM-остальной мир дошла до часа?
     
  5. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    KeSqueer
    все перечисленые, это кусок тела цикла
     
  6. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    t00x
    Пока вот так тогда:

    Код (Text):
    1.         add     r10, r10           ;
    2.         jnz     @xt0
    3.         test    r11, r9            ;
    4.         je      @can_equ_ban
    5.         add     r15, r15
    6.         jnz     @cbb_add_nan
    7.         mov     r14, r9             ;
    8.         shr     r14, cl             ;
    9.         mov     r15, r9             ;
    10.         add     r15, r14            ;
    11. @cbb_add_nan:
    12.         add     r8, r15             ;
    13.         mov     rdx, r8
    14. @can_equ_ban:
    15.         mov     r10, r11            ;
    16. @xt0:
     
  7. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    t00x, разбейся апстену ...
     
  8. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    probka
    Забанься.