# Xqcibi - Qualcomm uC Branch Immediate Extension # RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcibi -M no-aliases -show-encoding \ # RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s # RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcibi < %s \ # RUN: | llvm-objdump --mattr=+experimental-xqcibi -M no-aliases -d - \ # RUN: | FileCheck -check-prefixes=CHECK-OBJ %s # RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcibi -show-encoding \ # RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s # RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcibi < %s \ # RUN: | llvm-objdump --mattr=+experimental-xqcibi -d - \ # RUN: | FileCheck -check-prefix=CHECK-OBJ %s # CHECK-INST: qc.beqi s0, 12, 346 # CHECK-OBJ: qc.beqi s0, 0xc, 0x15a # CHECK-ENC: encoding: [0x7b,0x0d,0xc4,0x14] qc.beqi x8, 12, 346 # CHECK-INST: qc.bnei tp, 15, 4094 # CHECK-OBJ: qc.bnei tp, 0xf, 0x1002 # CHECK-ENC: encoding: [0xfb,0x1f,0xf2,0x7e] qc.bnei x4, 15, 4094 # CHECK-INST: qc.bgei a0, 1, -4096 # CHECK-OBJ: qc.bgei a0, 0x1, 0xfffff008 # CHECK-ENC: encoding: [0x7b,0x50,0x15,0x80] qc.bgei x10, 1, -4096 # CHECK-INST: qc.blti ra, 6, 2000 # CHECK-OBJ: qc.blti ra, 0x6, 0x7dc # CHECK-ENC: encoding: [0x7b,0xc8,0x60,0x7c] qc.blti x1, 6, 2000 # CHECK-INST: qc.bgeui a2, 11, 128 # CHECK-OBJ: qc.bgeui a2, 0xb, 0x90 # CHECK-ENC: encoding: [0x7b,0x70,0xb6,0x08] qc.bgeui x12, 11, 128 # CHECK-INST: qc.bltui sp, 7, 666 # CHECK-OBJ: qc.bltui sp, 0x7, 0x2ae # CHECK-ENC: encoding: [0x7b,0x6d,0x71,0x28] qc.bltui x2, 7, 666 # CHECK-INST: qc.e.beqi ra, 111, 2 # CHECK-OBJ: qc.e.beqi ra, 0x6f, 0x1a # CHECK-ENC: encoding: [0x1f,0xc1,0x80,0x01,0x6f,0x00] qc.e.beqi x1, 111, 2 # CHECK-INST: qc.e.bnei tp, 115, 4094 # CHECK-OBJ: qc.e.bnei tp, 0x73, 0x101c # CHECK-ENC: encoding: [0x9f,0x4f,0x92,0x7f,0x73,0x00] qc.e.bnei x4, 115, 4094 # CHECK-INST: qc.e.bgei a0, -32768, -4096 # CHECK-OBJ: qc.e.bgei a0, -0x8000, 0xfffff024 # CHECK-ENC: encoding: [0x1f,0x40,0xd5,0x81,0x00,0x80] qc.e.bgei x10, -32768, -4096 # CHECK-INST: qc.e.blti ra, 32767, 2000 # CHECK-OBJ: qc.e.blti ra, 0x7fff, 0x7fa # CHECK-ENC: encoding: [0x1f,0xc8,0xc0,0x7d,0xff,0x7f] qc.e.blti x1, 32767, 2000 # CHECK-INST: qc.e.bgeui a2, 711, 128 # CHECK-OBJ: qc.e.bgeui a2, 0x2c7, 0xb0 # CHECK-ENC: encoding: [0x1f,0x40,0xf6,0x09,0xc7,0x02] qc.e.bgeui x12, 711, 128 # CHECK-INST: qc.e.bltui sp, 77, 666 # CHECK-OBJ: qc.e.bltui sp, 0x4d, 0x2d0 # CHECK-ENC: encoding: [0x1f,0x4d,0xe1,0x29,0x4d,0x00] qc.e.bltui x2, 77, 666 # Check that compress patterns work as expected # CHECK-NOALIAS: beqi ra, 11, 2 # CHECK-ALIAS: qc.beqi ra, 11, 2 # CHECK-OBJ: qc.beqi ra, 0xb, 0x3e # CHECK-ENC: encoding: [0x7b,0x81,0xb0,0x00] qc.e.beqi x1, 11, 2 # CHECK-NOALIAS: bnei ra, 11, 2 # CHECK-ALIAS: qc.bnei ra, 11, 2 # CHECK-OBJ: qc.bnei ra, 0xb, 0x42 # CHECK-ENC: encoding: [0x7b,0x91,0xb0,0x00] qc.e.bnei x1, 11, 2 # CHECK-NOALIAS: bgei ra, 11, 2 # CHECK-ALIAS: qc.bgei ra, 11, 2 # CHECK-OBJ: qc.bgei ra, 0xb, 0x46 # CHECK-ENC: encoding: [0x7b,0xd1,0xb0,0x00] qc.e.bgei x1, 11, 2 # CHECK-NOALIAS: blti ra, 11, 2 # CHECK-ALIAS: qc.blti ra, 11, 2 # CHECK-OBJ: qc.blti ra, 0xb, 0x4a # CHECK-ENC: encoding: [0x7b,0xc1,0xb0,0x00] qc.e.blti x1, 11, 2 # CHECK-NOALIAS: bgeui ra, 11, 2 # CHECK-ALIAS: qc.bgeui ra, 11, 2 # CHECK-OBJ: qc.bgeui ra, 0xb, 0x4e # CHECK-ENC: encoding: [0x7b,0xf1,0xb0,0x00] qc.e.bgeui x1, 11, 2 # CHECK-NOALIAS: bltui ra, 11, 2 # CHECK-ALIAS: qc.bltui ra, 11, 2 # CHECK-OBJ: qc.bltui ra, 0xb, 0x52 # CHECK-ENC: encoding: [0x7b,0xe1,0xb0,0x00] qc.e.bltui x1, 11, 2