1# With B extension:
2# RUN: llvm-mc %s -triple=riscv64 -mattr=+experimental-b -show-encoding \
3# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
4# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+experimental-b < %s \
5# RUN:     | llvm-objdump --mattr=+experimental-b -d -r - \
6# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
7
8# With Bitmanip permutation extension:
9# RUN: llvm-mc %s -triple=riscv64 -mattr=+experimental-zbp -show-encoding \
10# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
11# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+experimental-zbp < %s \
12# RUN:     | llvm-objdump --mattr=+experimental-zbp -d -r - \
13# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
14
15# CHECK-ASM-AND-OBJ: gorcw t0, t1, t2
16# CHECK-ASM: encoding: [0xbb,0x52,0x73,0x28]
17gorcw t0, t1, t2
18# CHECK-ASM-AND-OBJ: grevw t0, t1, t2
19# CHECK-ASM: encoding: [0xbb,0x52,0x73,0x68]
20grevw t0, t1, t2
21# CHECK-ASM-AND-OBJ: gorciw t0, t1, 0
22# CHECK-ASM: encoding: [0x9b,0x52,0x03,0x28]
23gorciw t0, t1, 0
24# CHECK-ASM-AND-OBJ: greviw t0, t1, 0
25# CHECK-ASM: encoding: [0x9b,0x52,0x03,0x68]
26greviw t0, t1, 0
27# CHECK-ASM-AND-OBJ: shflw t0, t1, t2
28# CHECK-ASM: encoding: [0xbb,0x12,0x73,0x08]
29shflw t0, t1, t2
30# CHECK-ASM-AND-OBJ: unshflw t0, t1, t2
31# CHECK-ASM: encoding: [0xbb,0x52,0x73,0x08]
32unshflw t0, t1, t2
33