Skip to content

Neon support#169

Merged
bvisness merged 6 commits into
HandmadeMath:masterfrom
Jack-Punter:neon_support
Dec 16, 2023
Merged

Neon support#169
bvisness merged 6 commits into
HandmadeMath:masterfrom
Jack-Punter:neon_support

Conversation

@Jack-Punter

Copy link
Copy Markdown
Contributor

Looks like support for neon was talked about a while ago in #79. So thought I'd try tackling it, I've tried to remain as close to the existing style as possible. I'm no floating point expert but after reading #152 I've tried to be as consistent with the existing implementation as possible but I may have made some mistakes in that regard.

vld can de-interleave up to 4-float element structures in one go into multiple registers. This allows us to load each column of the matrix and put each element into a corresponding vector, essentially doing the entire transpose in 1 instruction

Fixed it

@bvisness bvisness left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great in general. Just left a general note about why we were so verbose with some operations. Thank you so much for submitting this!

Comment thread HandmadeMath.h
Comment thread HandmadeMath.h Outdated

@bvisness bvisness left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful! Thank you so much!

@bvisness
bvisness merged commit 322826b into HandmadeMath:master Dec 16, 2023
@bvisness bvisness mentioned this pull request Dec 16, 2023
@Jack-Punter
Jack-Punter deleted the neon_support branch December 17, 2023 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants