| # RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+experimental-v %s \ |
| # RUN: --mattr=+f \ |
| # RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST |
| # RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \ |
| # RUN: | FileCheck %s --check-prefix=CHECK-ERROR |
| # RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \ |
| # RUN: --mattr=+f \ |
| # RUN: | llvm-objdump -d --mattr=+experimental-v --mattr=+f - \ |
| # RUN: | FileCheck %s --check-prefix=CHECK-INST |
| # RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \ |
| # RUN: --mattr=+f \ |
| # RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN |
| |
| vfmacc.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfmacc.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xb0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a b0 <unknown> |
| |
| vfmacc.vv v8, v20, v4 |
| # CHECK-INST: vfmacc.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xb2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a b2 <unknown> |
| |
| vfmacc.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfmacc.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xb0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 b0 <unknown> |
| |
| vfmacc.vf v8, fa0, v4 |
| # CHECK-INST: vfmacc.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xb2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 b2 <unknown> |
| |
| vfnmacc.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfnmacc.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xb4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a b4 <unknown> |
| |
| vfnmacc.vv v8, v20, v4 |
| # CHECK-INST: vfnmacc.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xb6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a b6 <unknown> |
| |
| vfnmacc.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfnmacc.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xb4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 b4 <unknown> |
| |
| vfnmacc.vf v8, fa0, v4 |
| # CHECK-INST: vfnmacc.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xb6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 b6 <unknown> |
| |
| vfmsac.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfmsac.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xb8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a b8 <unknown> |
| |
| vfmsac.vv v8, v20, v4 |
| # CHECK-INST: vfmsac.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xba] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a ba <unknown> |
| |
| vfmsac.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfmsac.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xb8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 b8 <unknown> |
| |
| vfmsac.vf v8, fa0, v4 |
| # CHECK-INST: vfmsac.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xba] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 ba <unknown> |
| |
| vfnmsac.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfnmsac.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xbc] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a bc <unknown> |
| |
| vfnmsac.vv v8, v20, v4 |
| # CHECK-INST: vfnmsac.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xbe] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a be <unknown> |
| |
| vfnmsac.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfnmsac.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xbc] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 bc <unknown> |
| |
| vfnmsac.vf v8, fa0, v4 |
| # CHECK-INST: vfnmsac.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xbe] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 be <unknown> |
| |
| vfmadd.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfmadd.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xa0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a a0 <unknown> |
| |
| vfmadd.vv v8, v20, v4 |
| # CHECK-INST: vfmadd.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xa2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a a2 <unknown> |
| |
| vfmadd.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfmadd.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xa0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 a0 <unknown> |
| |
| vfmadd.vf v8, fa0, v4 |
| # CHECK-INST: vfmadd.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xa2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 a2 <unknown> |
| |
| vfnmadd.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfnmadd.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xa4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a a4 <unknown> |
| |
| vfnmadd.vv v8, v20, v4 |
| # CHECK-INST: vfnmadd.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xa6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a a6 <unknown> |
| |
| vfnmadd.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfnmadd.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xa4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 a4 <unknown> |
| |
| vfnmadd.vf v8, fa0, v4 |
| # CHECK-INST: vfnmadd.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xa6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 a6 <unknown> |
| |
| vfmsub.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfmsub.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xa8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a a8 <unknown> |
| |
| vfmsub.vv v8, v20, v4 |
| # CHECK-INST: vfmsub.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xaa] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a aa <unknown> |
| |
| vfmsub.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfmsub.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xa8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 a8 <unknown> |
| |
| vfmsub.vf v8, fa0, v4 |
| # CHECK-INST: vfmsub.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xaa] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 aa <unknown> |
| |
| vfnmsub.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfnmsub.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xac] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a ac <unknown> |
| |
| vfnmsub.vv v8, v20, v4 |
| # CHECK-INST: vfnmsub.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xae] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a ae <unknown> |
| |
| vfnmsub.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfnmsub.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xac] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 ac <unknown> |
| |
| vfnmsub.vf v8, fa0, v4 |
| # CHECK-INST: vfnmsub.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xae] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 ae <unknown> |
| |
| vfwmacc.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfwmacc.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xf0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a f0 <unknown> |
| |
| vfwmacc.vv v8, v20, v4 |
| # CHECK-INST: vfwmacc.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xf2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a f2 <unknown> |
| |
| vfwmacc.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfwmacc.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xf0] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 f0 <unknown> |
| |
| vfwmacc.vf v8, fa0, v4 |
| # CHECK-INST: vfwmacc.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xf2] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 f2 <unknown> |
| |
| vfwnmacc.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfwnmacc.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xf4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a f4 <unknown> |
| |
| vfwnmacc.vv v8, v20, v4 |
| # CHECK-INST: vfwnmacc.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xf6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a f6 <unknown> |
| |
| vfwnmacc.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfwnmacc.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xf4] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 f4 <unknown> |
| |
| vfwnmacc.vf v8, fa0, v4 |
| # CHECK-INST: vfwnmacc.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xf6] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 f6 <unknown> |
| |
| vfwmsac.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfwmsac.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xf8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a f8 <unknown> |
| |
| vfwmsac.vv v8, v20, v4 |
| # CHECK-INST: vfwmsac.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xfa] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a fa <unknown> |
| |
| vfwmsac.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfwmsac.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xf8] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 f8 <unknown> |
| |
| vfwmsac.vf v8, fa0, v4 |
| # CHECK-INST: vfwmsac.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xfa] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 fa <unknown> |
| |
| vfwnmsac.vv v8, v20, v4, v0.t |
| # CHECK-INST: vfwnmsac.vv v8, v20, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xfc] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a fc <unknown> |
| |
| vfwnmsac.vv v8, v20, v4 |
| # CHECK-INST: vfwnmsac.vv v8, v20, v4 |
| # CHECK-ENCODING: [0x57,0x14,0x4a,0xfe] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 14 4a fe <unknown> |
| |
| vfwnmsac.vf v8, fa0, v4, v0.t |
| # CHECK-INST: vfwnmsac.vf v8, fa0, v4, v0.t |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xfc] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 fc <unknown> |
| |
| vfwnmsac.vf v8, fa0, v4 |
| # CHECK-INST: vfwnmsac.vf v8, fa0, v4 |
| # CHECK-ENCODING: [0x57,0x54,0x45,0xfe] |
| # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V' |
| # CHECK-UNKNOWN: 57 54 45 fe <unknown> |