Skip to content

Commit 3710e28

Browse files
committed
We can use __builtin_bswapX on sparc when using clang, so do so.
PR port-sparc64/59789 bswap is slow
1 parent 903f788 commit 3710e28

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

sys/arch/sparc/include/bswap.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $NetBSD: bswap.h,v 1.3 2025/11/26 22:25:10 nia Exp $ */
1+
/* $NetBSD: bswap.h,v 1.4 2025/12/02 15:40:19 nia Exp $ */
22

33
#ifndef _MACHINE_BSWAP_H_
44
#define _MACHINE_BSWAP_H_
@@ -9,6 +9,10 @@
99
*/
1010
#if !defined(__clang__)
1111
#define __HAVE_SLOW_BSWAP_BUILTIN
12+
#else
13+
#define __BYTE_SWAP_U64_VARIABLE __builtin_bswap64
14+
#define __BYTE_SWAP_U32_VARIABLE __builtin_bswap32
15+
#define __BYTE_SWAP_U16_VARIABLE __builtin_bswap16
1216
#endif
1317

1418
#include <sys/bswap.h>

sys/arch/sparc64/include/bswap.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $NetBSD: bswap.h,v 1.3 2025/11/26 22:25:10 nia Exp $ */
1+
/* $NetBSD: bswap.h,v 1.4 2025/12/02 15:40:19 nia Exp $ */
22

33
#ifndef _MACHINE_BSWAP_H_
44
#define _MACHINE_BSWAP_H_
@@ -9,6 +9,10 @@
99
*/
1010
#if !defined(__clang__)
1111
#define __HAVE_SLOW_BSWAP_BUILTIN
12+
#else
13+
#define __BYTE_SWAP_U64_VARIABLE __builtin_bswap64
14+
#define __BYTE_SWAP_U32_VARIABLE __builtin_bswap32
15+
#define __BYTE_SWAP_U16_VARIABLE __builtin_bswap16
1216
#endif
1317

1418
#include <sys/bswap.h>

0 commit comments

Comments
 (0)