| # UNSUPPORTED: system-windows |
| # RUN: llvm-mc -triple=riscv64 -mattr=+zcmp,+zfa,+v --cdis %s | FileCheck %s --strict-whitespace --match-full-lines -check-prefixes=CHECK,ASM,ABINAME |
| # RUN: llvm-mc -triple=riscv64 -mattr=+zcmp,+zfa,+v -M numeric --cdis %s | FileCheck %s --strict-whitespace --match-full-lines -check-prefixes=CHECK,ASM,ARCHNAME |
| |
| # CHECK: .text |
| # Registers and immediates |
| 0x03 0xe0 0x40 0x00 |
| # ABINAME-NEXT: lwu [0;36mzero[0m, [0;31m4[0m([0;36mra[0m) |
| # ARCHNAME-NEXT: lwu [0;36mx0[0m, [0;31m4[0m([0;36mx1[0m) |
| |
| # Branch targets |
| 0x63 0x00 0xb5 0x04 |
| # ABINAME-NEXT: beq [0;36ma0[0m, [0;36ma1[0m, [0;33m64[0m |
| # ARCHNAME-NEXT: beq [0;36mx10[0m, [0;36mx11[0m, [0;33m64[0m |
| |
| # CSRs |
| 0xf3 0x23 0x10 0xf1 |
| # ABINAME-NEXT: csrr [0;36mt2[0m, [0;36mmvendorid[0m |
| # ARCHNAME-NEXT: csrr [0;36mx7[0m, [0;36mmvendorid[0m |
| |
| # FP immediates |
| 0xd3 0x00 0x1f 0xf0 |
| # ABINAME-NEXT: fli.s [0;36mft1[0m, [0;31minf[0m |
| # ARCHNAME-NEXT: fli.s [0;36mf1[0m, [0;31minf[0m |
| 0xd3 0x80 0x1e 0xf0 |
| # ABINAME-NEXT: fli.s [0;36mft1[0m, [0;31m65536.0[0m |
| # ARCHNAME-NEXT: fli.s [0;36mf1[0m, [0;31m65536.0[0m |
| |
| # Rlist and spimm |
| 0x42 0xbe |
| # ABINAME-NEXT: cm.popret {[0;36mra[0m}, [0;31m16[0m |
| # ARCHNAME-NEXT: cm.popret {[0;36mx1[0m}, [0;31m16[0m |
| 0x5e 0xbe |
| # ABINAME-NEXT: cm.popret {[0;36mra[0m, [0;36ms0[0m}, [0;31m64[0m |
| # ARCHNAME-NEXT: cm.popret {[0;36mx1[0m, [0;36mx8[0m}, [0;31m64[0m |
| 0x62 0xbe |
| # ABINAME-NEXT: cm.popret {[0;36mra[0m, [0;36ms0[0m-[0;36ms1[0m}, [0;31m32[0m |
| # ARCHNAME-NEXT: cm.popret {[0;36mx1[0m, [0;36mx8[0m-[0;36mx9[0m}, [0;31m32[0m |
| 0x76 0xbe |
| # ABINAME-NEXT: cm.popret {[0;36mra[0m, [0;36ms0[0m-[0;36ms2[0m}, [0;31m48[0m |
| # ARCHNAME-NEXT: cm.popret {[0;36mx1[0m, [0;36mx8[0m-[0;36mx9[0m, [0;36mx18[0m}, [0;31m48[0m |
| 0xfe 0xbe |
| # ABINAME-NEXT: cm.popret {[0;36mra[0m, [0;36ms0[0m-[0;36ms11[0m}, [0;31m160[0m |
| # ARCHNAME-NEXT: cm.popret {[0;36mx1[0m, [0;36mx8[0m-[0;36mx9[0m, [0;36mx18[0m-[0;36mx27[0m}, [0;31m160[0m |
| |
| # mask registers |
| 0x57 0x04 0x4a 0x00 |
| # ASM-NEXT: vadd.vv [0;36mv8[0m, [0;36mv4[0m, [0;36mv20[0m, [0;36mv0[0m.t |