---
title: 替换x86 bswap汇编指令
description: "编译报错：Error: unknown mnemonic 'bswap' -- 'bswap x3'。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0028.html
sourcePath: /source/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0028.html
indexId: 25db5686ca4312565fe7cdb5409142790942c7f6b322248a2681033d8ab60c8a65
---
# 替换x86 bswap汇编指令

#### 现象描述

编译报错：Error: unknown mnemonic 'bswap' -- 'bswap x3'。


#### 问题原因

bswap是x86的字节序反序指令，需替换为ARM64的rev指令。


#### 处理步骤

- x86指令实现的bswap如下：

```
inline uint32_t bswap(uint32_t val) {
__asm__("bswap %0" : "=r" (val) : "0" (val));
return val;
}
```


- 在鲲鹏平台下的实现：

```
static inline uint32_t bswap(uint32_t val) {
__asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
return val;
}
```
