From 4f70308db15398176d02315385de04663a2f30a3 Mon Sep 17 00:00:00 2001 From: jinge90 Date: Fri, 13 Sep 2024 16:26:47 +0800 Subject: [PATCH] use u32 copy for fp32 Signed-off-by: jinge90 --- libdevice/fallback-gsort.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/libdevice/fallback-gsort.cpp b/libdevice/fallback-gsort.cpp index 14cabfe25d14d..a9d18d7aca5ec 100644 --- a/libdevice/fallback-gsort.cpp +++ b/libdevice/fallback-gsort.cpp @@ -1126,13 +1126,15 @@ void WG_JS_D(p1u16_p1u64_u32_p1i8)(uint16_t *keys, uint64_t *vals, uint32_t n, DEVICE_EXTERN_C_INLINE void WG_JS_A(p1u16_p1f32_u32_p1i8)(uint16_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::less_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::less_equal{}); } DEVICE_EXTERN_C_INLINE void WG_JS_D(p1u16_p1f32_u32_p1i8)(uint16_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::greater_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::greater_equal{}); } // uint32_t as key type @@ -1187,13 +1189,15 @@ void WG_JS_D(p1u32_p1u64_u32_p1i8)(uint32_t *keys, uint64_t *vals, uint32_t n, DEVICE_EXTERN_C_INLINE void WG_JS_A(p1u32_p1f32_u32_p1i8)(uint32_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::less_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::less_equal{}); } DEVICE_EXTERN_C_INLINE void WG_JS_D(p1u32_p1f32_u32_p1i8)(uint32_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::greater_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::greater_equal{}); } // uint64_t as key type @@ -1248,13 +1252,15 @@ void WG_JS_D(p1u64_p1u64_u32_p1i8)(uint64_t *keys, uint64_t *vals, uint32_t n, DEVICE_EXTERN_C_INLINE void WG_JS_A(p1u64_p1f32_u32_p1i8)(uint64_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::less_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::less_equal{}); } DEVICE_EXTERN_C_INLINE void WG_JS_D(p1u64_p1f32_u32_p1i8)(uint64_t *keys, float *vals, uint32_t n, uint8_t *scratch) { - merge_sort_key_value(keys, vals, n, scratch, std::greater_equal{}); + merge_sort_key_value(keys, reinterpret_cast(vals), n, scratch, + std::greater_equal{}); } DEVICE_EXTERN_C_INLINE