Check common programs for areas the vectoriser could improve

Registered by Michael Hope on 2011-05-26

There are a few libraries and programs out there that have hand-written NEON chunks. Look into these and see if the vectoriser can replace them or what is needs to be added.

Blueprint information

Status:
Complete
Approver:
Michael Hope
Priority:
High
Drafter:
Michael Hope
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
Accepted for 4.6
Implementation:
Informational Informational
Milestone target:
milestone icon backlog
Started by
Matthew Gretton-Dann on 2013-05-21
Completed by
Matthew Gretton-Dann on 2013-05-21

Related branches

Sprints

Whiteboard

[2013-05-21 matthew-gretton-dann] This is now superceded by TCWG-62: http://cards.linaro.org/browse/TCWG-62

Work items:
Document the libraries to investigate: TODO

Work items (library 1):
Baseline with and without assembly to show potential speed up: TODO
Investigate the assembly version: TODO
Re-write the C version if needed: TODO
Add features to the vectoriser: TODO
Upstream: TODO

Work items (library 2):
Baseline with and without assembly to show potential speed up: TODO
Investigate the assembly version: TODO
Re-write the C version if needed: TODO
Add features to the vectoriser: TODO
Upstream: TODO

Work items (library 3):
Baseline with and without assembly to show potential speed up: TODO
Investigate the assembly version: TODO
Re-write the C version if needed: TODO
Add features to the vectoriser: TODO
Upstream: TODO

See https://wiki.linaro.org/MichaelHope/Sandbox/LibrariesWithNeon for a list.

Any work that is found should be spun out into new blueprints and the work items stolen from this one.

In some cases the assembly version may not be equivalent to the C version such as:
 * Being a different algorithm
 * Having different accuracy
 * Having different aliasing constraints
 * Being manually scheduled
 * Making use of preloads

We might translate the C version to match the assembly version first and then let the vectoriser at it. Record any cases where the assembly version can't be represented in C.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.