Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
How to efficiently sum 4 x 8bit integers with ARM or NEON
Jump...
Cancel
Locked
Locked
Replies
16 replies
Subscribers
118 subscribers
Views
15934 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
How to efficiently sum 4 x 8bit integers with ARM or NEON
Shervin Emami
over 12 years ago
Note: This was originally posted on 17th September 2010 at
http://forums.arm.com
Hi,
I am trying to write an ASM function to shrink an 8-bit greyscale image by 4, so I need to get the sum of 4 bytes very quickly. From what I have read, NEON needs atleast 32-bit integers and VFP is for floats, so it looks like I should just stick with ARM (or Thumb-2) instructions.
But I'm just a beginner so I'm wondering if there is a more efficient method of summing 4 consecutive bytes than convert each byte to a 32bit int and then sum them (and then shift right to get the average).
Its for a Cortex-A8 (ARMv7-A), and the data is aligned to 32 bytes or whatever I want.
Cheers,
Shervin Emami
[url="
http://www.shervinemami.co.cc/
"]
http://www.shervinemami.co.cc/[/url]
Parents
Shervin Emami
over 12 years ago
Note: This was originally posted on 27th September 2010 at
http://forums.arm.com
I just installed NASM only to discover that it doesn't support ARM. So I guess I'll stick with the XCode default "gcc-4.2 -x assembler-with-cpp" and not have NEON alignment. And I finally figured out why you only gave alignment on some rows and not others: because you thought I had a 480 pixel wide image and since 480 is not divisible by 64 or 128, only some rows would have good alignment.
Like I said, thanks a lot both of you for your help with jump starting me on ARM and NEON development.
Cancel
Vote up
0
Vote down
Cancel
Reply
Shervin Emami
over 12 years ago
Note: This was originally posted on 27th September 2010 at
http://forums.arm.com
I just installed NASM only to discover that it doesn't support ARM. So I guess I'll stick with the XCode default "gcc-4.2 -x assembler-with-cpp" and not have NEON alignment. And I finally figured out why you only gave alignment on some rows and not others: because you thought I had a 480 pixel wide image and since 480 is not divisible by 64 or 128, only some rows would have good alignment.
Like I said, thanks a lot both of you for your help with jump starting me on ARM and NEON development.
Cancel
Vote up
0
Vote down
Cancel
Children
No data