Use new NaN discipline
[riscv-isa-sim.git] / hwacha / opcodes_hwacha.h
index 75cbfa62a7060c6a79744f070e0f690598cf400b..d0eb1eea2450c70f13cdf229ea018bcc7fc325fb 100644 (file)
@@ -1,40 +1,47 @@
-DECLARE_INSN(vf, 0x10202b, 0x1f0707f)
-DECLARE_INSN(vflsegd, 0x1600205b, 0x1ff0707f)
-DECLARE_INSN(vflsegstd, 0x1600305b, 0x1e00707f)
-DECLARE_INSN(vflsegstw, 0x1400305b, 0x1e00707f)
-DECLARE_INSN(vflsegw, 0x1400205b, 0x1ff0707f)
-DECLARE_INSN(vfssegd, 0x1600207b, 0x1ff0707f)
-DECLARE_INSN(vfssegstd, 0x1600307b, 0x1e00707f)
-DECLARE_INSN(vfssegstw, 0x1400307b, 0x1e00707f)
-DECLARE_INSN(vfssegw, 0x1400207b, 0x1ff0707f)
-DECLARE_INSN(vgetcfg, 0x400b, 0xfffff07f)
-DECLARE_INSN(vgetvl, 0x200400b, 0xfffff07f)
-DECLARE_INSN(vlsegb, 0x205b, 0x1ff0707f)
-DECLARE_INSN(vlsegbu, 0x800205b, 0x1ff0707f)
-DECLARE_INSN(vlsegd, 0x600205b, 0x1ff0707f)
-DECLARE_INSN(vlsegh, 0x200205b, 0x1ff0707f)
-DECLARE_INSN(vlseghu, 0xa00205b, 0x1ff0707f)
-DECLARE_INSN(vlsegstb, 0x305b, 0x1e00707f)
-DECLARE_INSN(vlsegstbu, 0x800305b, 0x1e00707f)
-DECLARE_INSN(vlsegstd, 0x600305b, 0x1e00707f)
-DECLARE_INSN(vlsegsth, 0x200305b, 0x1e00707f)
-DECLARE_INSN(vlsegsthu, 0xa00305b, 0x1e00707f)
-DECLARE_INSN(vlsegstw, 0x400305b, 0x1e00707f)
-DECLARE_INSN(vlsegstwu, 0xc00305b, 0x1e00707f)
-DECLARE_INSN(vlsegw, 0x400205b, 0x1ff0707f)
-DECLARE_INSN(vlsegwu, 0xc00205b, 0x1ff0707f)
-DECLARE_INSN(vmsv, 0x200202b, 0xfff0707f)
-DECLARE_INSN(vmvv, 0x200002b, 0xfff0707f)
-DECLARE_INSN(vsetcfg, 0x200b, 0x7fff)
-DECLARE_INSN(vsetvl, 0x600b, 0xfff0707f)
-DECLARE_INSN(vssegb, 0x207b, 0x1ff0707f)
-DECLARE_INSN(vssegd, 0x600207b, 0x1ff0707f)
-DECLARE_INSN(vssegh, 0x200207b, 0x1ff0707f)
-DECLARE_INSN(vssegstb, 0x307b, 0x1e00707f)
-DECLARE_INSN(vssegstd, 0x600307b, 0x1e00707f)
-DECLARE_INSN(vssegsth, 0x200307b, 0x1e00707f)
-DECLARE_INSN(vssegstw, 0x400307b, 0x1e00707f)
-DECLARE_INSN(vssegw, 0x400207b, 0x1ff0707f)
-DECLARE_INSN(vxcptkill, 0x400302b, 0xffffffff)
-DECLARE_INSN(vxcptrestore, 0x200302b, 0xfff07fff)
-DECLARE_INSN(vxcptsave, 0x302b, 0xfff07fff)
+#include "encodings_hwacha.h"
+
+DECLARE_INSN(vf, MATCH_VF, MASK_VF)
+DECLARE_INSN(vflsegd, MATCH_VFLSEGD, MASK_VFLSEGD)
+DECLARE_INSN(vflsegstd, MATCH_VFLSEGSTD, MASK_VFLSEGSTD)
+DECLARE_INSN(vflsegstw, MATCH_VFLSEGSTW, MASK_VFLSEGSTW)
+DECLARE_INSN(vflsegw, MATCH_VFLSEGW, MASK_VFLSEGW)
+DECLARE_INSN(vfmsv_d, MATCH_VFMSV_D, MASK_VFMSV_D)
+DECLARE_INSN(vfmsv_s, MATCH_VFMSV_S, MASK_VFMSV_S)
+DECLARE_INSN(vfmvv, MATCH_VFMVV, MASK_VFMVV)
+DECLARE_INSN(vfssegd, MATCH_VFSSEGD, MASK_VFSSEGD)
+DECLARE_INSN(vfssegstd, MATCH_VFSSEGSTD, MASK_VFSSEGSTD)
+DECLARE_INSN(vfssegstw, MATCH_VFSSEGSTW, MASK_VFSSEGSTW)
+DECLARE_INSN(vfssegw, MATCH_VFSSEGW, MASK_VFSSEGW)
+DECLARE_INSN(vgetcfg, MATCH_VGETCFG, MASK_VGETCFG)
+DECLARE_INSN(vgetvl, MATCH_VGETVL, MASK_VGETVL)
+DECLARE_INSN(vlsegb, MATCH_VLSEGB, MASK_VLSEGB)
+DECLARE_INSN(vlsegbu, MATCH_VLSEGBU, MASK_VLSEGBU)
+DECLARE_INSN(vlsegd, MATCH_VLSEGD, MASK_VLSEGD)
+DECLARE_INSN(vlsegh, MATCH_VLSEGH, MASK_VLSEGH)
+DECLARE_INSN(vlseghu, MATCH_VLSEGHU, MASK_VLSEGHU)
+DECLARE_INSN(vlsegstb, MATCH_VLSEGSTB, MASK_VLSEGSTB)
+DECLARE_INSN(vlsegstbu, MATCH_VLSEGSTBU, MASK_VLSEGSTBU)
+DECLARE_INSN(vlsegstd, MATCH_VLSEGSTD, MASK_VLSEGSTD)
+DECLARE_INSN(vlsegsth, MATCH_VLSEGSTH, MASK_VLSEGSTH)
+DECLARE_INSN(vlsegsthu, MATCH_VLSEGSTHU, MASK_VLSEGSTHU)
+DECLARE_INSN(vlsegstw, MATCH_VLSEGSTW, MASK_VLSEGSTW)
+DECLARE_INSN(vlsegstwu, MATCH_VLSEGSTWU, MASK_VLSEGSTWU)
+DECLARE_INSN(vlsegw, MATCH_VLSEGW, MASK_VLSEGW)
+DECLARE_INSN(vlsegwu, MATCH_VLSEGWU, MASK_VLSEGWU)
+DECLARE_INSN(vmsv, MATCH_VMSV, MASK_VMSV)
+DECLARE_INSN(vmvv, MATCH_VMVV, MASK_VMVV)
+DECLARE_INSN(vsetcfg, MATCH_VSETCFG, MASK_VSETCFG)
+DECLARE_INSN(vsetvl, MATCH_VSETVL, MASK_VSETVL)
+DECLARE_INSN(vssegb, MATCH_VSSEGB, MASK_VSSEGB)
+DECLARE_INSN(vssegd, MATCH_VSSEGD, MASK_VSSEGD)
+DECLARE_INSN(vssegh, MATCH_VSSEGH, MASK_VSSEGH)
+DECLARE_INSN(vssegstb, MATCH_VSSEGSTB, MASK_VSSEGSTB)
+DECLARE_INSN(vssegstd, MATCH_VSSEGSTD, MASK_VSSEGSTD)
+DECLARE_INSN(vssegsth, MATCH_VSSEGSTH, MASK_VSSEGSTH)
+DECLARE_INSN(vssegstw, MATCH_VSSEGSTW, MASK_VSSEGSTW)
+DECLARE_INSN(vssegw, MATCH_VSSEGW, MASK_VSSEGW)
+DECLARE_INSN(vxcptaux, MATCH_VXCPTAUX, MASK_VXCPTAUX)
+DECLARE_INSN(vxcptcause, MATCH_VXCPTCAUSE, MASK_VXCPTCAUSE)
+DECLARE_INSN(vxcptevac, MATCH_VXCPTEVAC, MASK_VXCPTEVAC)
+DECLARE_INSN(vxcpthold, MATCH_VXCPTHOLD, MASK_VXCPTHOLD)
+DECLARE_INSN(vxcptkill, MATCH_VXCPTKILL, MASK_VXCPTKILL)