Files
TheRock/compiler/amd-llvm/llvm/test/tools/llvm-mca/RISCV/GenericOOO/floating-point.s
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

439 lines
23 KiB
ArmAsm

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=riscv64 -mattr=+rva23u64,+zfh -mcpu=generic-ooo -iterations=1 < %s | FileCheck %s
# Floating-Point Load and Store Instructions
## Half-Precision
flh ft0, 0(a0)
fsh ft0, 0(a0)
## Single-Precision
flw ft0, 0(a0)
fsw ft0, 0(a0)
## Double-Precision
fld ft0, 0(a0)
fsd ft0, 0(a0)
# Floating-Point Computational Instructions
## Half-Precision
fadd.h f26, f27, f28
fsub.h f29, f30, f31
fmul.h ft0, ft1, ft2
fdiv.h ft3, ft4, ft5
fsqrt.h ft6, ft7
fmin.h fa5, fa6, fa7
fmax.h fs2, fs3, fs4
fmadd.h f10, f11, f12, f31
fmsub.h f14, f15, f16, f17
fnmsub.h f18, f19, f20, f21
fnmadd.h f22, f23, f24, f25
## Single-Precision
fadd.s f26, f27, f28
fsub.s f29, f30, f31
fmul.s ft0, ft1, ft2
fdiv.s ft3, ft4, ft5
fsqrt.s ft6, ft7
fmin.s fa5, fa6, fa7
fmax.s fs2, fs3, fs4
fmadd.s f10, f11, f12, f31
fmsub.s f14, f15, f16, f17
fnmsub.s f18, f19, f20, f21
fnmadd.s f22, f23, f24, f25
## Double-Precision
fadd.d f26, f27, f28
fsub.d f29, f30, f31
fmul.d ft0, ft1, ft2
fdiv.d ft3, ft4, ft5
fsqrt.d ft6, ft7
fmin.d fa5, fa6, fa7
fmax.d fs2, fs3, fs4
fmadd.d f10, f11, f12, f31
fmsub.d f14, f15, f16, f17
fnmsub.d f18, f19, f20, f21
fnmadd.d f22, f23, f24, f25
# Floating-Point Conversion and Move Instructions
## Half-Precision
fmv.x.h a2, fs7
fmv.h.x ft1, a6
fcvt.s.h fa0, ft0
fcvt.s.h fa0, ft0, rup
fcvt.h.s ft2, fa2
fcvt.d.h fa0, ft0
fcvt.d.h fa0, ft0, rup
fcvt.h.d ft2, fa2
## Single-Precision
fcvt.w.s a0, fs5
fcvt.wu.s a1, fs6
fcvt.s.w ft11, a4
fcvt.s.wu ft0, a5
fcvt.l.s a0, ft0
fcvt.lu.s a1, ft1
fcvt.s.l ft2, a2
fcvt.s.lu ft3, a3
fmv.x.w a2, fs7
fmv.w.x ft1, a6
fsgnj.s fs1, fa0, fa1
fsgnjn.s fa1, fa3, fa4
## Double-Precision
fcvt.wu.d a4, ft11
fcvt.w.d a4, ft11
fcvt.d.w ft0, a5
fcvt.d.wu ft1, a6
fcvt.s.d fs5, fs6
fcvt.d.s fs7, fs8
fcvt.l.d a0, ft0
fcvt.lu.d a1, ft1
fcvt.d.l ft3, a3
fcvt.d.lu ft4, a4
fmv.x.d a2, ft2
fmv.d.x ft5, a5
fsgnj.d fs1, fa0, fa1
fsgnjn.d fa1, fa3, fa4
# Floating-Point Compare Instructions
## Half-Precision
feq.h a1, fs8, fs9
flt.h a2, fs10, fs11
fle.h a3, ft8, ft9
## Single-Precision
feq.s a1, fs8, fs9
flt.s a2, fs10, fs11
fle.s a3, ft8, ft9
## Double-Precision
feq.d a1, fs8, fs9
flt.d a2, fs10, fs11
fle.d a3, ft8, ft9
# Floating-Point Classify Instruction
## Half-Precision
fclass.s a3, ft10
## Single-Precision
fclass.s a3, ft10
## Double-Precision
fclass.d a3, ft10
# Zfa
## Load-Immediate Instructions
fli.h ft1, -1.0
fli.s ft1, -1.0
fli.d ft1, -1.0
## Minimum and Maximum Instructions
fminm.h fa0, fa1, fa2
fmaxm.h fs3, fs4, fs5
fminm.s fa0, fa1, fa2
fmaxm.s fs3, fs4, fs5
fminm.d fa0, fa1, fa2
fmaxm.d fs3, fs4, fs5
## Round-to-Integer Instructions
fround.h fs1, fs2
froundnx.h fs1, fs2
fround.s fs1, fs2
froundnx.s fs1, fs2
fround.d fs1, fs2
froundnx.d fs1, fs2
## Modular Convert-to-Integer Instruction
fcvtmod.w.d a1, ft1, rtz
## Comparison Instructions
fltq.h a1, fs1, fs2
fleq.h a1, ft1, ft2
fgtq.h a1, fs1, fs2
fgeq.h a1, ft1, ft2
fltq.s a1, fs1, fs2
fleq.s a1, ft1, ft2
fgtq.s a1, fs1, fs2
fgeq.s a1, ft1, ft2
fltq.d a1, fs1, fs2
fleq.d a1, ft1, ft2
fgtq.d a1, fs1, fs2
fgeq.d a1, ft1, ft2
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 113
# CHECK-NEXT: Total Cycles: 107
# CHECK-NEXT: Total uOps: 113
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 1.06
# CHECK-NEXT: IPC: 1.06
# CHECK-NEXT: Block RThroughput: 93.0
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 * flh ft0, 0(a0)
# CHECK-NEXT: 1 1 0.50 * fsh ft0, 0(a0)
# CHECK-NEXT: 1 4 0.50 * flw ft0, 0(a0)
# CHECK-NEXT: 1 1 0.50 * fsw ft0, 0(a0)
# CHECK-NEXT: 1 4 0.50 * fld ft0, 0(a0)
# CHECK-NEXT: 1 1 0.50 * fsd ft0, 0(a0)
# CHECK-NEXT: 1 2 0.50 fadd.h fs10, fs11, ft8
# CHECK-NEXT: 1 2 0.50 fsub.h ft9, ft10, ft11
# CHECK-NEXT: 1 4 1.00 fmul.h ft0, ft1, ft2
# CHECK-NEXT: 1 9 9.00 fdiv.h ft3, ft4, ft5
# CHECK-NEXT: 1 9 9.00 fsqrt.h ft6, ft7
# CHECK-NEXT: 1 1 0.50 fmin.h fa5, fa6, fa7
# CHECK-NEXT: 1 1 0.50 fmax.h fs2, fs3, fs4
# CHECK-NEXT: 1 6 1.00 fmadd.h fa0, fa1, fa2, ft11
# CHECK-NEXT: 1 6 1.00 fmsub.h fa4, fa5, fa6, fa7
# CHECK-NEXT: 1 6 1.00 fnmsub.h fs2, fs3, fs4, fs5
# CHECK-NEXT: 1 6 1.00 fnmadd.h fs6, fs7, fs8, fs9
# CHECK-NEXT: 1 2 0.50 fadd.s fs10, fs11, ft8
# CHECK-NEXT: 1 2 0.50 fsub.s ft9, ft10, ft11
# CHECK-NEXT: 1 4 1.00 fmul.s ft0, ft1, ft2
# CHECK-NEXT: 1 13 13.00 fdiv.s ft3, ft4, ft5
# CHECK-NEXT: 1 13 13.00 fsqrt.s ft6, ft7
# CHECK-NEXT: 1 1 0.50 fmin.s fa5, fa6, fa7
# CHECK-NEXT: 1 1 0.50 fmax.s fs2, fs3, fs4
# CHECK-NEXT: 1 6 1.00 fmadd.s fa0, fa1, fa2, ft11
# CHECK-NEXT: 1 6 1.00 fmsub.s fa4, fa5, fa6, fa7
# CHECK-NEXT: 1 6 1.00 fnmsub.s fs2, fs3, fs4, fs5
# CHECK-NEXT: 1 6 1.00 fnmadd.s fs6, fs7, fs8, fs9
# CHECK-NEXT: 1 2 0.50 fadd.d fs10, fs11, ft8
# CHECK-NEXT: 1 2 0.50 fsub.d ft9, ft10, ft11
# CHECK-NEXT: 1 4 1.00 fmul.d ft0, ft1, ft2
# CHECK-NEXT: 1 17 17.00 fdiv.d ft3, ft4, ft5
# CHECK-NEXT: 1 17 17.00 fsqrt.d ft6, ft7
# CHECK-NEXT: 1 1 0.50 fmin.d fa5, fa6, fa7
# CHECK-NEXT: 1 1 0.50 fmax.d fs2, fs3, fs4
# CHECK-NEXT: 1 6 1.00 fmadd.d fa0, fa1, fa2, ft11
# CHECK-NEXT: 1 6 1.00 fmsub.d fa4, fa5, fa6, fa7
# CHECK-NEXT: 1 6 1.00 fnmsub.d fs2, fs3, fs4, fs5
# CHECK-NEXT: 1 6 1.00 fnmadd.d fs6, fs7, fs8, fs9
# CHECK-NEXT: 1 2 0.50 fmv.x.h a2, fs7
# CHECK-NEXT: 1 2 0.50 fmv.h.x ft1, a6
# CHECK-NEXT: 1 2 0.50 fcvt.s.h fa0, ft0
# CHECK-NEXT: 1 2 0.50 fcvt.s.h fa0, ft0, rup
# CHECK-NEXT: 1 2 0.50 fcvt.h.s ft2, fa2
# CHECK-NEXT: 1 2 0.50 fcvt.d.h fa0, ft0
# CHECK-NEXT: 1 2 0.50 fcvt.d.h fa0, ft0, rup
# CHECK-NEXT: 1 2 0.50 fcvt.h.d ft2, fa2
# CHECK-NEXT: 1 2 0.50 fcvt.w.s a0, fs5
# CHECK-NEXT: 1 2 0.50 fcvt.wu.s a1, fs6
# CHECK-NEXT: 1 2 0.50 fcvt.s.w ft11, a4
# CHECK-NEXT: 1 2 0.50 fcvt.s.wu ft0, a5
# CHECK-NEXT: 1 2 0.50 fcvt.l.s a0, ft0
# CHECK-NEXT: 1 2 0.50 fcvt.lu.s a1, ft1
# CHECK-NEXT: 1 2 0.50 fcvt.s.l ft2, a2
# CHECK-NEXT: 1 2 0.50 fcvt.s.lu ft3, a3
# CHECK-NEXT: 1 2 0.50 fmv.x.w a2, fs7
# CHECK-NEXT: 1 2 0.50 fmv.w.x ft1, a6
# CHECK-NEXT: 1 1 0.50 fsgnj.s fs1, fa0, fa1
# CHECK-NEXT: 1 1 0.50 fsgnjn.s fa1, fa3, fa4
# CHECK-NEXT: 1 2 0.50 fcvt.wu.d a4, ft11
# CHECK-NEXT: 1 2 0.50 fcvt.w.d a4, ft11
# CHECK-NEXT: 1 2 0.50 fcvt.d.w ft0, a5
# CHECK-NEXT: 1 2 0.50 fcvt.d.wu ft1, a6
# CHECK-NEXT: 1 2 0.50 fcvt.s.d fs5, fs6
# CHECK-NEXT: 1 2 0.50 fcvt.d.s fs7, fs8
# CHECK-NEXT: 1 2 0.50 fcvt.l.d a0, ft0
# CHECK-NEXT: 1 2 0.50 fcvt.lu.d a1, ft1
# CHECK-NEXT: 1 2 0.50 fcvt.d.l ft3, a3
# CHECK-NEXT: 1 2 0.50 fcvt.d.lu ft4, a4
# CHECK-NEXT: 1 2 0.50 fmv.x.d a2, ft2
# CHECK-NEXT: 1 2 0.50 fmv.d.x ft5, a5
# CHECK-NEXT: 1 1 0.50 fsgnj.d fs1, fa0, fa1
# CHECK-NEXT: 1 1 0.50 fsgnjn.d fa1, fa3, fa4
# CHECK-NEXT: 1 2 0.50 feq.h a1, fs8, fs9
# CHECK-NEXT: 1 2 0.50 flt.h a2, fs10, fs11
# CHECK-NEXT: 1 2 0.50 fle.h a3, ft8, ft9
# CHECK-NEXT: 1 2 0.50 feq.s a1, fs8, fs9
# CHECK-NEXT: 1 2 0.50 flt.s a2, fs10, fs11
# CHECK-NEXT: 1 2 0.50 fle.s a3, ft8, ft9
# CHECK-NEXT: 1 2 0.50 feq.d a1, fs8, fs9
# CHECK-NEXT: 1 2 0.50 flt.d a2, fs10, fs11
# CHECK-NEXT: 1 2 0.50 fle.d a3, ft8, ft9
# CHECK-NEXT: 1 1 0.50 fclass.s a3, ft10
# CHECK-NEXT: 1 1 0.50 fclass.s a3, ft10
# CHECK-NEXT: 1 1 0.50 fclass.d a3, ft10
# CHECK-NEXT: 1 2 0.50 fli.h ft1, -1.0
# CHECK-NEXT: 1 2 0.50 fli.s ft1, -1.0
# CHECK-NEXT: 1 2 0.50 fli.d ft1, -1.0
# CHECK-NEXT: 1 1 0.50 fminm.h fa0, fa1, fa2
# CHECK-NEXT: 1 1 0.50 fmaxm.h fs3, fs4, fs5
# CHECK-NEXT: 1 1 0.50 fminm.s fa0, fa1, fa2
# CHECK-NEXT: 1 1 0.50 fmaxm.s fs3, fs4, fs5
# CHECK-NEXT: 1 1 0.50 fminm.d fa0, fa1, fa2
# CHECK-NEXT: 1 1 0.50 fmaxm.d fs3, fs4, fs5
# CHECK-NEXT: 1 2 0.50 fround.h fs1, fs2
# CHECK-NEXT: 1 2 0.50 froundnx.h fs1, fs2
# CHECK-NEXT: 1 2 0.50 fround.s fs1, fs2
# CHECK-NEXT: 1 2 0.50 froundnx.s fs1, fs2
# CHECK-NEXT: 1 2 0.50 fround.d fs1, fs2
# CHECK-NEXT: 1 2 0.50 froundnx.d fs1, fs2
# CHECK-NEXT: 1 2 0.50 fcvtmod.w.d a1, ft1, rtz
# CHECK-NEXT: 1 2 0.50 fltq.h a1, fs1, fs2
# CHECK-NEXT: 1 2 0.50 fleq.h a1, ft1, ft2
# CHECK-NEXT: 1 2 0.50 fltq.h a1, fs2, fs1
# CHECK-NEXT: 1 2 0.50 fleq.h a1, ft2, ft1
# CHECK-NEXT: 1 2 0.50 fltq.s a1, fs1, fs2
# CHECK-NEXT: 1 2 0.50 fleq.s a1, ft1, ft2
# CHECK-NEXT: 1 2 0.50 fltq.s a1, fs2, fs1
# CHECK-NEXT: 1 2 0.50 fleq.s a1, ft2, ft1
# CHECK-NEXT: 1 2 0.50 fltq.d a1, fs1, fs2
# CHECK-NEXT: 1 2 0.50 fleq.d a1, ft1, ft2
# CHECK-NEXT: 1 2 0.50 fltq.d a1, fs2, fs1
# CHECK-NEXT: 1 2 0.50 fleq.d a1, ft2, ft1
# CHECK: Resources:
# CHECK-NEXT: [0] - GenericOOOBranch
# CHECK-NEXT: [1] - GenericOOOFMulDiv
# CHECK-NEXT: [2] - GenericOOOFloat
# CHECK-NEXT: [3.0] - GenericOOOInt
# CHECK-NEXT: [3.1] - GenericOOOInt
# CHECK-NEXT: [4.0] - GenericOOOLSU
# CHECK-NEXT: [4.1] - GenericOOOLSU
# CHECK-NEXT: [5] - GenericOOOMulDiv
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3.0] [3.1] [4.0] [4.1] [5]
# CHECK-NEXT: - 99.00 80.00 - - 3.00 3.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3.0] [3.1] [4.0] [4.1] [5] Instructions:
# CHECK-NEXT: - - - - - - 1.00 - flh ft0, 0(a0)
# CHECK-NEXT: - - - - - 1.00 - - fsh ft0, 0(a0)
# CHECK-NEXT: - - - - - 1.00 - - flw ft0, 0(a0)
# CHECK-NEXT: - - - - - - 1.00 - fsw ft0, 0(a0)
# CHECK-NEXT: - - - - - - 1.00 - fld ft0, 0(a0)
# CHECK-NEXT: - - - - - 1.00 - - fsd ft0, 0(a0)
# CHECK-NEXT: - - 1.00 - - - - - fadd.h fs10, fs11, ft8
# CHECK-NEXT: - 1.00 - - - - - - fsub.h ft9, ft10, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmul.h ft0, ft1, ft2
# CHECK-NEXT: - 9.00 - - - - - - fdiv.h ft3, ft4, ft5
# CHECK-NEXT: - 9.00 - - - - - - fsqrt.h ft6, ft7
# CHECK-NEXT: - - 1.00 - - - - - fmin.h fa5, fa6, fa7
# CHECK-NEXT: - - 1.00 - - - - - fmax.h fs2, fs3, fs4
# CHECK-NEXT: - 1.00 - - - - - - fmadd.h fa0, fa1, fa2, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmsub.h fa4, fa5, fa6, fa7
# CHECK-NEXT: - 1.00 - - - - - - fnmsub.h fs2, fs3, fs4, fs5
# CHECK-NEXT: - 1.00 - - - - - - fnmadd.h fs6, fs7, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - fadd.s fs10, fs11, ft8
# CHECK-NEXT: - - 1.00 - - - - - fsub.s ft9, ft10, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmul.s ft0, ft1, ft2
# CHECK-NEXT: - 13.00 - - - - - - fdiv.s ft3, ft4, ft5
# CHECK-NEXT: - 13.00 - - - - - - fsqrt.s ft6, ft7
# CHECK-NEXT: - - 1.00 - - - - - fmin.s fa5, fa6, fa7
# CHECK-NEXT: - - 1.00 - - - - - fmax.s fs2, fs3, fs4
# CHECK-NEXT: - 1.00 - - - - - - fmadd.s fa0, fa1, fa2, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmsub.s fa4, fa5, fa6, fa7
# CHECK-NEXT: - 1.00 - - - - - - fnmsub.s fs2, fs3, fs4, fs5
# CHECK-NEXT: - 1.00 - - - - - - fnmadd.s fs6, fs7, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - fadd.d fs10, fs11, ft8
# CHECK-NEXT: - - 1.00 - - - - - fsub.d ft9, ft10, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmul.d ft0, ft1, ft2
# CHECK-NEXT: - 17.00 - - - - - - fdiv.d ft3, ft4, ft5
# CHECK-NEXT: - 17.00 - - - - - - fsqrt.d ft6, ft7
# CHECK-NEXT: - - 1.00 - - - - - fmin.d fa5, fa6, fa7
# CHECK-NEXT: - - 1.00 - - - - - fmax.d fs2, fs3, fs4
# CHECK-NEXT: - 1.00 - - - - - - fmadd.d fa0, fa1, fa2, ft11
# CHECK-NEXT: - 1.00 - - - - - - fmsub.d fa4, fa5, fa6, fa7
# CHECK-NEXT: - 1.00 - - - - - - fnmsub.d fs2, fs3, fs4, fs5
# CHECK-NEXT: - 1.00 - - - - - - fnmadd.d fs6, fs7, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - fmv.x.h a2, fs7
# CHECK-NEXT: - - 1.00 - - - - - fmv.h.x ft1, a6
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.h fa0, ft0
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.h fa0, ft0, rup
# CHECK-NEXT: - - 1.00 - - - - - fcvt.h.s ft2, fa2
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.h fa0, ft0
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.h fa0, ft0, rup
# CHECK-NEXT: - - 1.00 - - - - - fcvt.h.d ft2, fa2
# CHECK-NEXT: - - 1.00 - - - - - fcvt.w.s a0, fs5
# CHECK-NEXT: - - 1.00 - - - - - fcvt.wu.s a1, fs6
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.w ft11, a4
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.wu ft0, a5
# CHECK-NEXT: - - 1.00 - - - - - fcvt.l.s a0, ft0
# CHECK-NEXT: - - 1.00 - - - - - fcvt.lu.s a1, ft1
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.l ft2, a2
# CHECK-NEXT: - - 1.00 - - - - - fcvt.s.lu ft3, a3
# CHECK-NEXT: - - 1.00 - - - - - fmv.x.w a2, fs7
# CHECK-NEXT: - - 1.00 - - - - - fmv.w.x ft1, a6
# CHECK-NEXT: - - 1.00 - - - - - fsgnj.s fs1, fa0, fa1
# CHECK-NEXT: - - 1.00 - - - - - fsgnjn.s fa1, fa3, fa4
# CHECK-NEXT: - - 1.00 - - - - - fcvt.wu.d a4, ft11
# CHECK-NEXT: - - 1.00 - - - - - fcvt.w.d a4, ft11
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.w ft0, a5
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.wu ft1, a6
# CHECK-NEXT: - 1.00 - - - - - - fcvt.s.d fs5, fs6
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.s fs7, fs8
# CHECK-NEXT: - - 1.00 - - - - - fcvt.l.d a0, ft0
# CHECK-NEXT: - - 1.00 - - - - - fcvt.lu.d a1, ft1
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.l ft3, a3
# CHECK-NEXT: - - 1.00 - - - - - fcvt.d.lu ft4, a4
# CHECK-NEXT: - - 1.00 - - - - - fmv.x.d a2, ft2
# CHECK-NEXT: - - 1.00 - - - - - fmv.d.x ft5, a5
# CHECK-NEXT: - - 1.00 - - - - - fsgnj.d fs1, fa0, fa1
# CHECK-NEXT: - 1.00 - - - - - - fsgnjn.d fa1, fa3, fa4
# CHECK-NEXT: - - 1.00 - - - - - feq.h a1, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - flt.h a2, fs10, fs11
# CHECK-NEXT: - - 1.00 - - - - - fle.h a3, ft8, ft9
# CHECK-NEXT: - - 1.00 - - - - - feq.s a1, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - flt.s a2, fs10, fs11
# CHECK-NEXT: - - 1.00 - - - - - fle.s a3, ft8, ft9
# CHECK-NEXT: - - 1.00 - - - - - feq.d a1, fs8, fs9
# CHECK-NEXT: - - 1.00 - - - - - flt.d a2, fs10, fs11
# CHECK-NEXT: - - 1.00 - - - - - fle.d a3, ft8, ft9
# CHECK-NEXT: - - 1.00 - - - - - fclass.s a3, ft10
# CHECK-NEXT: - - 1.00 - - - - - fclass.s a3, ft10
# CHECK-NEXT: - - 1.00 - - - - - fclass.d a3, ft10
# CHECK-NEXT: - - 1.00 - - - - - fli.h ft1, -1.0
# CHECK-NEXT: - - 1.00 - - - - - fli.s ft1, -1.0
# CHECK-NEXT: - - 1.00 - - - - - fli.d ft1, -1.0
# CHECK-NEXT: - 1.00 - - - - - - fminm.h fa0, fa1, fa2
# CHECK-NEXT: - - 1.00 - - - - - fmaxm.h fs3, fs4, fs5
# CHECK-NEXT: - - 1.00 - - - - - fminm.s fa0, fa1, fa2
# CHECK-NEXT: - 1.00 - - - - - - fmaxm.s fs3, fs4, fs5
# CHECK-NEXT: - 1.00 - - - - - - fminm.d fa0, fa1, fa2
# CHECK-NEXT: - - 1.00 - - - - - fmaxm.d fs3, fs4, fs5
# CHECK-NEXT: - - 1.00 - - - - - fround.h fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - froundnx.h fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fround.s fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - froundnx.s fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fround.d fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - froundnx.d fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fcvtmod.w.d a1, ft1, rtz
# CHECK-NEXT: - - 1.00 - - - - - fltq.h a1, fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fleq.h a1, ft1, ft2
# CHECK-NEXT: - - 1.00 - - - - - fltq.h a1, fs2, fs1
# CHECK-NEXT: - - 1.00 - - - - - fleq.h a1, ft2, ft1
# CHECK-NEXT: - - 1.00 - - - - - fltq.s a1, fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fleq.s a1, ft1, ft2
# CHECK-NEXT: - - 1.00 - - - - - fltq.s a1, fs2, fs1
# CHECK-NEXT: - - 1.00 - - - - - fleq.s a1, ft2, ft1
# CHECK-NEXT: - - 1.00 - - - - - fltq.d a1, fs1, fs2
# CHECK-NEXT: - - 1.00 - - - - - fleq.d a1, ft1, ft2
# CHECK-NEXT: - - 1.00 - - - - - fltq.d a1, fs2, fs1
# CHECK-NEXT: - - 1.00 - - - - - fleq.d a1, ft2, ft1