Advertisement
Guest User

Untitled

a guest
Feb 19th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. And best of all if called, no registers need to be save. If inlined, it gets rescheduled
  2. And it does the work in 5 instructions that used to take 15 (if inlined for 32 bit)
  3. and if called (to memcmp), many dozen....
  4.  
  5. v6_equal:
  6. @ args = 0, pretend = 0, frame = 0
  7. @ frame_needed = 0, uses_anonymous_args = 0
  8. @ link register save eliminated.
  9. vld1.32 {d16-d17}, [r0] @ D.32765, MEM[(const __builtin_neon_si[4] *)p1_2(D)]
  10. vld1.32 {d18-d19}, [r1] @ D.32765, MEM[(const __builtin_neon_si[4] *)p2_3(D)]
  11. veor q8, q8, q9 @ D.32765, D.32765, D.32765
  12. vorr d16, d17, d16 @ D.32766, D.32765, D.32765
  13. vpmax.u32 d16, d16, d16 @, D.32766, D.32766, D.32766
  14. vmov.32 r0, d16[0] @ D.32767, D.32766,
  15. clz r0, r0 @, D.32767
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement