Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pragma(inline, true)? #16

Closed
p0nce opened this issue Jan 18, 2019 · 5 comments
Closed

Use pragma(inline, true)? #16

p0nce opened this issue Jan 18, 2019 · 5 comments

Comments

@p0nce
Copy link
Collaborator

p0nce commented Jan 18, 2019

Code written with intel-intrinsics is often way slower without optimizations, because of no-inlining. Try to improve that for DMD 32-bit.

@p0nce
Copy link
Collaborator Author

p0nce commented Jan 20, 2019

With clang intrinsics use __nodebug__, find something similar. (EDIT: doesnt change build times very much)

@p0nce
Copy link
Collaborator Author

p0nce commented Jan 28, 2019

Ideas:

  • could be to avoid defining vector types if D_SIMD is here? (EDIT no because of int2)
  • Perhaps using v.array[0] instead of v[0] who calls opIndex (EDIT: needed for GDC 32-bit support anyway)
  • pragma(inline, true)
  • do not call loadUnaligned when emulating SIMD vectors (EDIT: sometimes loadUnaligned produce better code with ARM)

@p0nce p0nce changed the title Improve DMD debug performance Improve DMD debug performance, improve DMD performance Oct 8, 2019
@p0nce
Copy link
Collaborator Author

p0nce commented Feb 7, 2020

  • D_SIMD is an obvious option too

@p0nce
Copy link
Collaborator Author

p0nce commented Sep 17, 2020

  • loadUnaligned actually leads to different (often better) optimized code! useful for ARM + LDC

@p0nce p0nce changed the title Improve DMD debug performance, improve DMD performance Use pragma(inline, true)? Oct 25, 2020
@p0nce
Copy link
Collaborator Author

p0nce commented Dec 16, 2020

Close in favour of #42 and #59

@p0nce p0nce closed this as completed Dec 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant