110 lines · plain
1# Xqcibi - Qualcomm uC Branch Immediate Extension2# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcibi -M no-aliases -show-encoding \3# RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s4# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcibi < %s \5# RUN: | llvm-objdump --mattr=+experimental-xqcibi -M no-aliases -d - \6# RUN: | FileCheck -check-prefixes=CHECK-OBJ %s7# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcibi -show-encoding \8# RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s9# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcibi < %s \10# RUN: | llvm-objdump --mattr=+experimental-xqcibi -d - \11# RUN: | FileCheck -check-prefix=CHECK-OBJ %s12 13# CHECK-INST: qc.beqi s0, 12, 34614# CHECK-OBJ: qc.beqi s0, 0xc, 0x15a15# CHECK-ENC: encoding: [0x7b,0x0d,0xc4,0x14]16qc.beqi x8, 12, 34617 18# CHECK-INST: qc.bnei tp, 15, 409419# CHECK-OBJ: qc.bnei tp, 0xf, 0x100220# CHECK-ENC: encoding: [0xfb,0x1f,0xf2,0x7e]21qc.bnei x4, 15, 409422 23# CHECK-INST: qc.bgei a0, 1, -409624# CHECK-OBJ: qc.bgei a0, 0x1, 0xfffff00825# CHECK-ENC: encoding: [0x7b,0x50,0x15,0x80]26qc.bgei x10, 1, -409627 28# CHECK-INST: qc.blti ra, 6, 200029# CHECK-OBJ: qc.blti ra, 0x6, 0x7dc30# CHECK-ENC: encoding: [0x7b,0xc8,0x60,0x7c]31qc.blti x1, 6, 200032 33# CHECK-INST: qc.bgeui a2, 11, 12834# CHECK-OBJ: qc.bgeui a2, 0xb, 0x9035# CHECK-ENC: encoding: [0x7b,0x70,0xb6,0x08]36qc.bgeui x12, 11, 12837 38# CHECK-INST: qc.bltui sp, 7, 66639# CHECK-OBJ: qc.bltui sp, 0x7, 0x2ae40# CHECK-ENC: encoding: [0x7b,0x6d,0x71,0x28]41qc.bltui x2, 7, 66642 43# CHECK-INST: qc.e.beqi ra, 111, 244# CHECK-OBJ: qc.e.beqi ra, 0x6f, 0x1a45# CHECK-ENC: encoding: [0x1f,0xc1,0x80,0x01,0x6f,0x00]46qc.e.beqi x1, 111, 247 48# CHECK-INST: qc.e.bnei tp, 115, 409449# CHECK-OBJ: qc.e.bnei tp, 0x73, 0x101c50# CHECK-ENC: encoding: [0x9f,0x4f,0x92,0x7f,0x73,0x00]51qc.e.bnei x4, 115, 409452 53# CHECK-INST: qc.e.bgei a0, -32768, -409654# CHECK-OBJ: qc.e.bgei a0, -0x8000, 0xfffff02455# CHECK-ENC: encoding: [0x1f,0x40,0xd5,0x81,0x00,0x80]56qc.e.bgei x10, -32768, -409657 58# CHECK-INST: qc.e.blti ra, 32767, 200059# CHECK-OBJ: qc.e.blti ra, 0x7fff, 0x7fa60# CHECK-ENC: encoding: [0x1f,0xc8,0xc0,0x7d,0xff,0x7f]61qc.e.blti x1, 32767, 200062 63# CHECK-INST: qc.e.bgeui a2, 711, 12864# CHECK-OBJ: qc.e.bgeui a2, 0x2c7, 0xb065# CHECK-ENC: encoding: [0x1f,0x40,0xf6,0x09,0xc7,0x02]66qc.e.bgeui x12, 711, 12867 68# CHECK-INST: qc.e.bltui sp, 77, 66669# CHECK-OBJ: qc.e.bltui sp, 0x4d, 0x2d070# CHECK-ENC: encoding: [0x1f,0x4d,0xe1,0x29,0x4d,0x00]71qc.e.bltui x2, 77, 66672 73# Check that compress patterns work as expected74 75# CHECK-NOALIAS: beqi ra, 11, 276# CHECK-ALIAS: qc.beqi ra, 11, 277# CHECK-OBJ: qc.beqi ra, 0xb, 0x3e78# CHECK-ENC: encoding: [0x7b,0x81,0xb0,0x00]79qc.e.beqi x1, 11, 280 81# CHECK-NOALIAS: bnei ra, 11, 282# CHECK-ALIAS: qc.bnei ra, 11, 283# CHECK-OBJ: qc.bnei ra, 0xb, 0x4284# CHECK-ENC: encoding: [0x7b,0x91,0xb0,0x00]85qc.e.bnei x1, 11, 286 87# CHECK-NOALIAS: bgei ra, 11, 288# CHECK-ALIAS: qc.bgei ra, 11, 289# CHECK-OBJ: qc.bgei ra, 0xb, 0x4690# CHECK-ENC: encoding: [0x7b,0xd1,0xb0,0x00]91qc.e.bgei x1, 11, 292 93# CHECK-NOALIAS: blti ra, 11, 294# CHECK-ALIAS: qc.blti ra, 11, 295# CHECK-OBJ: qc.blti ra, 0xb, 0x4a96# CHECK-ENC: encoding: [0x7b,0xc1,0xb0,0x00]97qc.e.blti x1, 11, 298 99# CHECK-NOALIAS: bgeui ra, 11, 2100# CHECK-ALIAS: qc.bgeui ra, 11, 2101# CHECK-OBJ: qc.bgeui ra, 0xb, 0x4e102# CHECK-ENC: encoding: [0x7b,0xf1,0xb0,0x00]103qc.e.bgeui x1, 11, 2104 105# CHECK-NOALIAS: bltui ra, 11, 2106# CHECK-ALIAS: qc.bltui ra, 11, 2107# CHECK-OBJ: qc.bltui ra, 0xb, 0x52108# CHECK-ENC: encoding: [0x7b,0xe1,0xb0,0x00]109qc.e.bltui x1, 11, 2110