1# With Bitmanip base extension: 2# RUN: llvm-mc %s -triple=riscv64 -mattr=+zbb -M no-aliases -show-encoding \ 3# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s 4# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+zbb < %s \ 5# RUN: | llvm-objdump --mattr=+zbb -M no-aliases --no-print-imm-hex -d -r - \ 6# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s 7 8# CHECK-ASM-AND-OBJ: zext.h t0, t1 9# CHECK-ASM: encoding: [0xbb,0x42,0x03,0x08] 10zext.h t0, t1 11# CHECK-ASM-AND-OBJ: rori t0, t1, 63 12# CHECK-ASM: encoding: [0x93,0x52,0xf3,0x63] 13rori t0, t1, 63 14# CHECK-ASM-AND-OBJ: rev8 t0, t1 15# CHECK-ASM: encoding: [0x93,0x52,0x83,0x6b] 16rev8 t0, t1 17 18# CHECK-ASM-AND-OBJ: clzw t0, t1 19# CHECK-ASM: encoding: [0x9b,0x12,0x03,0x60] 20clzw t0, t1 21# CHECK-ASM-AND-OBJ: ctzw t0, t1 22# CHECK-ASM: encoding: [0x9b,0x12,0x13,0x60] 23ctzw t0, t1 24# CHECK-ASM-AND-OBJ: cpopw t0, t1 25# CHECK-ASM: encoding: [0x9b,0x12,0x23,0x60] 26cpopw t0, t1 27 28# CHECK-ASM-AND-OBJ: addi t0, zero, -18 29# CHECK-ASM-AND-OBJ: rori t0, t0, 21 30li t0, -149533581377537 31# CHECK-ASM-AND-OBJ: addi t0, zero, -86 32# CHECK-ASM-AND-OBJ: rori t0, t0, 4 33li t0, -5764607523034234886 34# CHECK-ASM-AND-OBJ: addi t0, zero, -18 35# CHECK-ASM-AND-OBJ: rori t0, t0, 37 36li t0, -2281701377 37 38# CHECK-ASM-AND-OBJ: rolw t0, t1, t2 39# CHECK-ASM: encoding: [0xbb,0x12,0x73,0x60] 40rolw t0, t1, t2 41# CHECK-ASM-AND-OBJ: rorw t0, t1, t2 42# CHECK-ASM: encoding: [0xbb,0x52,0x73,0x60] 43rorw t0, t1, t2 44# CHECK-ASM-AND-OBJ: roriw t0, t1, 31 45# CHECK-ASM: encoding: [0x9b,0x52,0xf3,0x61] 46roriw t0, t1, 31 47# CHECK-ASM-AND-OBJ: roriw t0, t1, 0 48# CHECK-ASM: encoding: [0x9b,0x52,0x03,0x60] 49roriw t0, t1, 0 50