aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h
diff options
context:
space:
mode:
Diffstat (limited to 'PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h')
-rw-r--r--PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h b/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h
index 4df3ff6c..1db72c25 100644
--- a/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h
+++ b/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h
@@ -23,7 +23,7 @@
// components in life support devices or systems without express written approval of
// NVIDIA Corporation.
//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
+// Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
@@ -2054,6 +2054,13 @@ PX_FORCE_INLINE Vec4V V4PermYZXW(const Vec4V a)
return vreinterpretq_f32_u32(vcombine_u32(yz, xw));
}
+PX_FORCE_INLINE Vec4V V4PermZWXY(const Vec4V a)
+{
+ const float32x2_t low = vget_low_f32(a);
+ const float32x2_t high = vget_high_f32(a);
+ return vcombine_f32(high, low);
+}
+
template <PxU8 E0, PxU8 E1, PxU8 E2, PxU8 E3>
PX_FORCE_INLINE Vec4V V4Perm(const Vec4V V)
{