1# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+f < %s \ 2# RUN: | llvm-objdump -d --mattr=+f -M no-aliases - \ 3# RUN: | FileCheck -check-prefix=CHECK-INST %s 4# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+f < %s \ 5# RUN: | llvm-objdump -d --mattr=+f - \ 6# RUN: | FileCheck -check-prefix=CHECK-ALIAS %s 7# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+f < %s \ 8# RUN: | llvm-objdump -d --mattr=+f - \ 9# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 10# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+zfinx < %s \ 11# RUN: | llvm-objdump -d --mattr=+zfinx - \ 12# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 13# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=-f < %s \ 14# RUN: | llvm-objdump -d --mattr=+f - \ 15# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 16# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=-f < %s \ 17# RUN: | llvm-objdump -d --mattr=-f - \ 18# RUN: | FileCheck -check-prefix=CHECK-EXT-F-OFF %s 19# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+f < %s \ 20# RUN: | llvm-objdump -d --mattr=-f - \ 21# RUN: | FileCheck -check-prefix=CHECK-EXT-F-OFF %s 22 23# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+f < %s \ 24# RUN: | llvm-objdump -d --mattr=+f -M no-aliases - \ 25# RUN: | FileCheck -check-prefix=CHECK-INST %s 26# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+f < %s \ 27# RUN: | llvm-objdump -d --mattr=+f - \ 28# RUN: | FileCheck -check-prefix=CHECK-ALIAS %s 29# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+f < %s \ 30# RUN: | llvm-objdump -d --mattr=+f - \ 31# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 32# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+zfinx < %s \ 33# RUN: | llvm-objdump -d --mattr=+zfinx - \ 34# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 35# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=-f < %s \ 36# RUN: | llvm-objdump -d --mattr=+f - \ 37# RUN: | FileCheck -check-prefix=CHECK-EXT-F %s 38# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=-f < %s \ 39# RUN: | llvm-objdump -d --mattr=-f - \ 40# RUN: | FileCheck -check-prefix=CHECK-EXT-F-OFF %s 41# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+f < %s \ 42# RUN: | llvm-objdump -d --mattr=-f - \ 43# RUN: | FileCheck -check-prefix=CHECK-EXT-F-OFF %s 44 45 46# CHECK-INST: csrrs t0, fcsr, zero 47# CHECK-ALIAS: frcsr t0 48# CHECK-EXT-F: frcsr t0 49# CHECK-EXT-F-OFF: csrr t0, fcsr 50csrrs t0, 3, zero 51 52# CHECK-INST: csrrw t1, fcsr, t2 53# CHECK-ALIAS: fscsr t1, t2 54# CHECK-EXT-F: fscsr t1, t2 55# CHECK-EXT-F-OFF: csrrw t1, fcsr, t2 56csrrw t1, 3, t2 57 58# CHECK-INST: csrrw zero, fcsr, t2 59# CHECK-ALIAS: fscsr t2 60# CHECK-EXT-F: fscsr t2 61# CHECK-EXT-F-OFF: csrw fcsr, t2 62csrrw zero, 3, t2 63 64# CHECK-INST: csrrw zero, fcsr, t2 65# CHECK-ALIAS: fscsr t2 66# CHECK-EXT-F: fscsr t2 67# CHECK-EXT-F-OFF: csrw fcsr, t2 68csrrw zero, 3, t2 69 70# CHECK-INST: csrrw t0, frm, zero 71# CHECK-ALIAS: fsrm t0, zero 72# CHECK-EXT-F: fsrm t0, zero 73# CHECK-EXT-F-OFF: csrrw t0, frm 74csrrw t0, 2, zero 75 76# CHECK-INST: csrrw t0, frm, t1 77# CHECK-ALIAS: fsrm t0, t1 78# CHECK-EXT-F: fsrm t0, t1 79# CHECK-EXT-F-OFF: csrrw t0, frm, t1 80csrrw t0, 2, t1 81 82# CHECK-INST: csrrwi t0, frm, 0x1f 83# CHECK-ALIAS: fsrmi t0, 0x1f 84# CHECK-EXT-F: fsrmi t0, 0x1f 85# CHECK-EXT-F-OFF: csrrwi t0, frm, 0x1f 86csrrwi t0, 2, 31 87 88# CHECK-INST: csrrwi zero, frm, 0x1f 89# CHECK-ALIAS: fsrmi 0x1f 90# CHECK-EXT-F: fsrmi 0x1f 91# CHECK-EXT-F-OFF: csrwi frm, 0x1f 92csrrwi zero, 2, 31 93 94# CHECK-INST: csrrs t0, fflags, zero 95# CHECK-ALIAS: frflags t0 96# CHECK-EXT-F: frflags t0 97# CHECK-EXT-F-OFF: csrr t0, fflags 98csrrs t0, 1, zero 99 100# CHECK-INST: csrrw t0, fflags, t2 101# CHECK-ALIAS: fsflags t0, t2 102# CHECK-EXT-F: fsflags t0, t2 103# CHECK-EXT-F-OFF: csrrw t0, fflags, t2 104csrrw t0, 1, t2 105 106# CHECK-INST: csrrw zero, fflags, t2 107# CHECK-ALIAS: fsflags t2 108# CHECK-EXT-F: fsflags t2 109# CHECK-EXT-F-OFF: csrw fflags, t2 110csrrw zero, 1, t2 111 112# CHECK-INST: csrrwi t0, fflags, 0x1f 113# CHECK-ALIAS: fsflagsi t0, 0x1f 114# CHECK-EXT-F: fsflagsi t0, 0x1f 115# CHECK-EXT-F-OFF: csrrwi t0, fflags, 0x1f 116csrrwi t0, 1, 31 117 118# CHECK-INST: csrrwi zero, fflags, 0x1f 119# CHECK-ALIAS: fsflagsi 0x1f 120# CHECK-EXT-F: fsflagsi 0x1f 121# CHECK-EXT-F-OFF: csrwi fflags, 0x1f 122csrrwi zero, 1, 31 123 124