blob: e79ae73955893a8faa16c0d12b818040122f9b4a [file] [log] [blame]
# 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 zero, 4(ra)
# ARCHNAME-NEXT: lwu x0, 4(x1)
# Branch targets
0x63 0x00 0xb5 0x04
# ABINAME-NEXT: beq a0, a1, 64
# ARCHNAME-NEXT: beq x10, x11, 64
# CSRs
0xf3 0x23 0x10 0xf1
# ABINAME-NEXT: csrr t2, mvendorid
# ARCHNAME-NEXT: csrr x7, mvendorid
# FP immediates
0xd3 0x00 0x1f 0xf0
# ABINAME-NEXT: fli.s ft1, inf
# ARCHNAME-NEXT: fli.s f1, inf
0xd3 0x80 0x1e 0xf0
# ABINAME-NEXT: fli.s ft1, 65536.0
# ARCHNAME-NEXT: fli.s f1, 65536.0
# Rlist and spimm
0x42 0xbe
# ABINAME-NEXT: cm.popret {ra}, 16
# ARCHNAME-NEXT: cm.popret {x1}, 16
0x5e 0xbe
# ABINAME-NEXT: cm.popret {ra, s0}, 64
# ARCHNAME-NEXT: cm.popret {x1, x8}, 64
0x62 0xbe
# ABINAME-NEXT: cm.popret {ra, s0-s1}, 32
# ARCHNAME-NEXT: cm.popret {x1, x8-x9}, 32
0x76 0xbe
# ABINAME-NEXT: cm.popret {ra, s0-s2}, 48
# ARCHNAME-NEXT: cm.popret {x1, x8-x9, x18}, 48
0xfe 0xbe
# ABINAME-NEXT: cm.popret {ra, s0-s11}, 160
# ARCHNAME-NEXT: cm.popret {x1, x8-x9, x18-x27}, 160
# mask registers
0x57 0x04 0x4a 0x00
# ASM-NEXT: vadd.vv v8, v4, v20, v0.t