1# With Bitmanip permutation extension: 2# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-zbp -show-encoding \ 3# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s 4# RUN: llvm-mc %s -triple=riscv64 -mattr=+experimental-zbp -show-encoding \ 5# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s 6# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+experimental-zbp < %s \ 7# RUN: | llvm-objdump --mattr=+experimental-zbp -d -r - \ 8# RUN: | FileCheck --check-prefixes=CHECK-OBJ,CHECK-ASM-AND-OBJ %s 9# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+experimental-zbp < %s \ 10# RUN: | llvm-objdump --mattr=+experimental-zbp -d -r - \ 11# RUN: | FileCheck --check-prefixes=CHECK-OBJ,CHECK-ASM-AND-OBJ %s 12 13# CHECK-ASM-AND-OBJ: gorc t0, t1, t2 14# CHECK-ASM: encoding: [0xb3,0x52,0x73,0x28] 15gorc t0, t1, t2 16# CHECK-ASM-AND-OBJ: grev t0, t1, t2 17# CHECK-ASM: encoding: [0xb3,0x52,0x73,0x68] 18grev t0, t1, t2 19# CHECK-ASM-AND-OBJ: gorci t0, t1, 0 20# CHECK-ASM: encoding: [0x93,0x52,0x03,0x28] 21gorci t0, t1, 0 22# CHECK-ASM-AND-OBJ: grevi t0, t1, 0 23# CHECK-ASM: encoding: [0x93,0x52,0x03,0x68] 24grevi t0, t1, 0 25# CHECK-ASM-AND-OBJ: shfl t0, t1, t2 26# CHECK-ASM: encoding: [0xb3,0x12,0x73,0x08] 27shfl t0, t1, t2 28# CHECK-ASM-AND-OBJ: unshfl t0, t1, t2 29# CHECK-ASM: encoding: [0xb3,0x52,0x73,0x08] 30unshfl t0, t1, t2 31# CHECK-ASM-AND-OBJ: shfli t0, t1, 0 32# CHECK-ASM: encoding: [0x93,0x12,0x03,0x08] 33shfli t0, t1, 0 34# CHECK-ASM-AND-OBJ: unshfli t0, t1, 0 35# CHECK-ASM: encoding: [0x93,0x52,0x03,0x08] 36unshfli t0, t1, 0 37# CHECK-ASM-AND-OBJ: pack t0, t1, t2 38# CHECK-ASM: encoding: [0xb3,0x42,0x73,0x08] 39pack t0, t1, t2 40# CHECK-ASM-AND-OBJ: packu t0, t1, t2 41# CHECK-ASM: encoding: [0xb3,0x42,0x73,0x48] 42packu t0, t1, t2 43# CHECK-ASM-AND-OBJ: packh t0, t1, t2 44# CHECK-ASM: encoding: [0xb3,0x72,0x73,0x08] 45packh t0, t1, t2 46# CHECK-ASM: gorci t0, t1, 7 47# CHECK-OBJ: orc.b t0, t1 48# CHECK-ASM: encoding: [0x93,0x52,0x73,0x28] 49gorci t0, t1, 7 50# CHECK-ASM-AND-OBJ: xperm.n t0, t1, t2 51# CHECK-ASM: encoding: [0xb3,0x22,0x73,0x28] 52xperm.n t0, t1, t2 53# CHECK-ASM-AND-OBJ: xperm.b t0, t1, t2 54# CHECK-ASM: encoding: [0xb3,0x42,0x73,0x28] 55xperm.b t0, t1, t2 56# CHECK-ASM-AND-OBJ: xperm.h t0, t1, t2 57# CHECK-ASM: encoding: [0xb3,0x62,0x73,0x28 58xperm.h t0, t1, t2 59