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

Make use of additional ARMv8 intrinsics #40

Closed
walbourn opened this issue Nov 11, 2016 · 2 comments
Closed

Make use of additional ARMv8 intrinsics #40

walbourn opened this issue Nov 11, 2016 · 2 comments
Assignees

Comments

@walbourn
Copy link
Member

walbourn commented Nov 11, 2016

The Windows ARM 32-bit platform requires ARMv7, while the Windows ARM 64-bit platform requires ARMv8. Therefore, DirectXMath can make use of additional ARMv8 ARM-NEON intrinsics for dividing, rounding, and half-precision conversion on the ARM64 platform:

vrndnq_f32
vrndq_f32
vrndmq_f32
vrndpq_f32
vcvt_f32_f16
vcvt_f16_f32
vdivq_f32 
@walbourn
Copy link
Member Author

walbourn commented Nov 11, 2016

The additional ARMv8 optimizations are now checked for the following functions when building for _M_ARM64.

XMMATRIX::operator/=
XMMATRIX::operator/

XMVectorRound
XMVectorTruncate
XMVectorFloor
XMVectorCeiling
XMVectorSum
XMVectorDivide
XMVectorReciprocal
XMVector2TransformCoordStream
XMVector3TransformCoordStream
XMVector3ProjectStream
XMVector3UnprojectStream

XMConvertHalfToFloat
XMConvertHalfToFloatStream
XMConvertFloatToHalf
XMConvertFloatToHalfStream

@walbourn
Copy link
Member Author

Fixed for DirectXMath 3.10

@walbourn walbourn self-assigned this Nov 11, 2016
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