1*615d71d9SWu Xinlong; RUN: llc -mtriple=riscv32 -mattr=+zbkx -verify-machineinstrs < %s \ 2*615d71d9SWu Xinlong; RUN: | FileCheck %s -check-prefix=RV32ZBKX 3*615d71d9SWu Xinlong 4*615d71d9SWu Xinlongdeclare i32 @llvm.riscv.xperm8.i32(i32 %a, i32 %b) 5*615d71d9SWu Xinlong 6*615d71d9SWu Xinlongdefine i32 @xperm8(i32 %a, i32 %b) nounwind { 7*615d71d9SWu Xinlong; RV32ZBKX-LABEL: xperm8: 8*615d71d9SWu Xinlong; RV32ZBKX: # %bb.0: 9*615d71d9SWu Xinlong; RV32ZBKX-NEXT: xperm8 a0, a0, a1 10*615d71d9SWu Xinlong; RV32ZBKX-NEXT: ret 11*615d71d9SWu Xinlong %tmp = call i32 @llvm.riscv.xperm8.i32(i32 %a, i32 %b) 12*615d71d9SWu Xinlong ret i32 %tmp 13*615d71d9SWu Xinlong} 14*615d71d9SWu Xinlong 15*615d71d9SWu Xinlongdeclare i32 @llvm.riscv.xperm4.i32(i32 %a, i32 %b) 16*615d71d9SWu Xinlong 17*615d71d9SWu Xinlongdefine i32 @xperm4(i32 %a, i32 %b) nounwind { 18*615d71d9SWu Xinlong; RV32ZBKX-LABEL: xperm4: 19*615d71d9SWu Xinlong; RV32ZBKX: # %bb.0: 20*615d71d9SWu Xinlong; RV32ZBKX-NEXT: xperm4 a0, a0, a1 21*615d71d9SWu Xinlong; RV32ZBKX-NEXT: ret 22*615d71d9SWu Xinlong %tmp = call i32 @llvm.riscv.xperm4.i32(i32 %a, i32 %b) 23*615d71d9SWu Xinlong ret i32 %tmp 24*615d71d9SWu Xinlong} 25