Advertisement
prat3492

Untitled

Sep 22nd, 2015
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.62 KB | None | 0 0
  1. t0a:
  2.     @ args = 0, pretend = 0, frame = 0
  3.     @ frame_needed = 0, uses_anonymous_args = 0
  4.     bic r0, r0, #31
  5.     cmp r0, #0
  6.     ble .L25
  7.     adds    r3, r2, #2
  8.     push    {r4, r5, r6, r7, lr}
  9.     ubfx    r3, r3, #1, #2
  10.     negs    r3, r3
  11.     and r3, r3, #7
  12.     cmp r3, r0
  13.     it  cs
  14.     movcs   r3, r0
  15.     cmp r0, #8
  16.     it  le
  17.     movle   r3, r0
  18.     bgt .L28
  19. .L3:
  20.     ldrh    r4, [r2, #2]
  21.     cmp r3, #1
  22.     lsl r4, r4, #1
  23.     strh    r4, [r1]    @ movhi
  24.     beq .L20
  25.     ldrh    r4, [r2, #4]
  26.     cmp r3, #2
  27.     lsl r4, r4, #1
  28.     strh    r4, [r1, #2]    @ movhi
  29.     beq .L20
  30.     ldrh    r4, [r2, #6]
  31.     cmp r3, #3
  32.     lsl r4, r4, #1
  33.     strh    r4, [r1, #4]    @ movhi
  34.     beq .L20
  35.     ldrh    r4, [r2, #8]
  36.     cmp r3, #4
  37.     lsl r4, r4, #1
  38.     strh    r4, [r1, #6]    @ movhi
  39.     beq .L20
  40.     ldrh    r4, [r2, #10]
  41.     cmp r3, #5
  42.     lsl r4, r4, #1
  43.     strh    r4, [r1, #8]    @ movhi
  44.     beq .L20
  45.     ldrh    r4, [r2, #12]
  46.     cmp r3, #6
  47.     lsl r4, r4, #1
  48.     strh    r4, [r1, #10]   @ movhi
  49.     beq .L20
  50.     ldrh    r4, [r2, #14]
  51.     cmp r3, #8
  52.     lsl r4, r4, #1
  53.     strh    r4, [r1, #12]   @ movhi
  54.     bne .L21
  55.     ldrh    r5, [r2, #16]
  56.     mov r4, r3
  57.     lsls    r5, r5, #1
  58.     strh    r5, [r1, #14]   @ movhi
  59. .L5:
  60.     cmp r0, r3
  61.     beq .L29
  62. .L4:
  63.     subs    r7, r0, r3
  64.     subs    r6, r0, #1
  65.     sub r5, r7, #8
  66.     subs    r6, r6, r3
  67.     lsrs    r5, r5, #3
  68.     cmp r6, #6
  69.     add r5, r5, #1
  70.     lsl lr, r5, #3
  71.     bls .L7
  72.     adds    r3, r3, #1
  73.     lsls    r3, r3, #1
  74.     mov ip, #0
  75.     subs    r6, r3, #2
  76.     add r3, r3, r2
  77.     add r6, r6, r1
  78. .L8:
  79.     vld1.64 {d16-d17}, [r3:64]
  80.     add ip, ip, #1
  81.     vadd.i16    q8, q8, q8
  82.     cmp r5, ip
  83.     add r3, r3, #16
  84.     vst1.16 {q8}, [r6]
  85.     add r6, r6, #16
  86.     bhi .L8
  87.     cmp r7, lr
  88.     add r4, r4, lr
  89.     beq .L1
  90. .L7:
  91.     lsls    r5, r4, #1
  92.     adds    r3, r4, #1
  93.     cmp r0, r3
  94.     add r7, r5, #2
  95.     ldrh    r6, [r2, r7]
  96.     lsl r6, r6, #1
  97.     strh    r6, [r1, r4, lsl #1]    @ movhi
  98.     ble .L1
  99.     add lr, r5, #4
  100.     adds    r3, r4, #2
  101.     ldrh    r6, [r2, lr]
  102.     cmp r0, r3
  103.     lsl r6, r6, #1
  104.     strh    r6, [r1, r7]    @ movhi
  105.     ble .L1
  106.     adds    r7, r5, #6
  107.     adds    r3, r4, #3
  108.     ldrh    r6, [r2, r7]
  109.     cmp r0, r3
  110.     lsl r6, r6, #1
  111.     strh    r6, [r1, lr]    @ movhi
  112.     ble .L1
  113.     add lr, r5, #8
  114.     adds    r3, r4, #4
  115.     ldrh    r6, [r2, lr]
  116.     cmp r0, r3
  117.     lsl r6, r6, #1
  118.     strh    r6, [r1, r7]    @ movhi
  119.     ble .L1
  120.     add r7, r5, #10
  121.     adds    r3, r4, #5
  122.     ldrh    r6, [r2, r7]
  123.     cmp r0, r3
  124.     lsl r6, r6, #1
  125.     strh    r6, [r1, lr]    @ movhi
  126.     ble .L1
  127.     add r6, r5, #12
  128.     adds    r3, r4, #6
  129.     ldrh    r4, [r2, r6]
  130.     cmp r0, r3
  131.     lsl r4, r4, #1
  132.     strh    r4, [r1, r7]    @ movhi
  133.     ble .L1
  134.     add r2, r2, r5
  135.     ldrh    r3, [r2, #14]
  136.     lsls    r3, r3, #1
  137.     strh    r3, [r1, r6]    @ movhi
  138.     pop {r4, r5, r6, r7, pc}
  139. .L1:
  140.     pop {r4, r5, r6, r7, pc}
  141. .L29:
  142.     pop {r4, r5, r6, r7, pc}
  143. .L20:
  144.     mov r4, r3
  145.     b   .L5
  146. .L28:
  147.     mov r4, r3
  148.     cmp r3, #0
  149.     beq .L4
  150.     b   .L3
  151. .L25:
  152.     bx  lr
  153. .L21:
  154.     movs    r4, #7
  155.     b   .L5
  156.     .size   t0a, .-t0a
  157.     .ident  "GCC: (GNU) 6.0.0 20150921 (experimental)"
  158.     .section    .note.GNU-stack,"",%progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement