# 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