diff options
author | Colin Schmidt <colins@eecs.berkeley.edu> | 2018-10-29 12:08:24 -0700 |
---|---|---|
committer | Colin Schmidt <colins@eecs.berkeley.edu> | 2018-10-29 19:16:39 -0700 |
commit | 2edd2fbe3bc87b9bc69481a722e591d126f4dbff (patch) | |
tree | e9a4a9109713baf01b0e0ab908cc32bfd7ff33cc | |
parent | 9b4c43f67289f44a53ea5babdb6e3840f8663de6 (diff) | |
download | riscv-opcodes-2edd2fbe3bc87b9bc69481a722e591d126f4dbff.zip riscv-opcodes-2edd2fbe3bc87b9bc69481a722e591d126f4dbff.tar.gz riscv-opcodes-2edd2fbe3bc87b9bc69481a722e591d126f4dbff.tar.bz2 |
Align comparison opcodes with spec
-rw-r--r-- | opcodes-v | 22 | ||||
-rwxr-xr-x | parse-opcodes | 10 |
2 files changed, 19 insertions, 13 deletions
@@ -143,10 +143,6 @@ vsl m vd vs1 vs2 27..25=0 31..28=9 14=1 6..0=0x57 vsr m vd vs1 vs2 27..25=1 31..28=9 14=1 6..0=0x57 vor m vd vs1 vs2 27..25=2 31..28=9 14=1 6..0=0x57 vand m vd vs1 vs2 27..25=3 31..28=9 14=1 6..0=0x57 -vseq m vd vs1 vs2 27..25=4 31..28=9 14=1 6..0=0x57 -vsne m vd vs1 vs2 27..25=5 31..28=9 14=1 6..0=0x57 -vslt m vd vs1 vs2 27..25=6 31..28=9 14=1 6..0=0x57 -vsge m vd vs1 vs2 27..25=7 31..28=9 14=1 6..0=0x57 # group 31..28=10 includes instructions that write xd # (and may also read xs1 and/or xs2). @@ -171,6 +167,12 @@ vpopc m vd vs1 27..25=7 31..28=12 14=1 6..0=0x57 24..20=1 vsqrt m vd vs1 27..25=7 31..28=12 14=1 6..0=0x57 24..20=2 # group 31..28=13 +vseq m vd vs1 vs2 27..25=0 31..28=13 14=1 6..0=0x57 +vsne m vd vs1 vs2 27..25=1 31..28=13 14=1 6..0=0x57 +vslt m vd vs1 vs2 27..25=2 31..28=13 14=1 6..0=0x57 +vsge m vd vs1 vs2 27..25=3 31..28=13 14=1 6..0=0x57 +vsltu m vd vs1 vs2 27..25=6 31..28=13 14=1 6..0=0x57 +vsgeu m vd vs1 vs2 27..25=7 31..28=13 14=1 6..0=0x57 # group 31..28=14 @@ -190,10 +192,11 @@ vfsgnjx.s m vd vs1 vs2 31..27=0x06 26..25=0 14=0 6..0=0x57 vfmin.s m vd vs1 vs2 31..27=0x07 26..25=0 14=0 6..0=0x57 vfmax.s m vd vs1 vs2 31..27=0x08 26..25=0 14=0 6..0=0x57 vfsqrt.s m vd vs1 24..20=0 31..27=0x09 26..25=0 14=0 6..0=0x57 +vfclass.s m vd vs1 24..20=1 31..27=0x09 26..25=0 14=0 6..0=0x57 vfle.s m vd vs1 vs2 31..27=0x0A 26..25=0 14=0 6..0=0x57 vflt.s m vd vs1 vs2 31..27=0x0B 26..25=0 14=0 6..0=0x57 vfeq.s m vd vs1 vs2 31..27=0x0C 26..25=0 14=0 6..0=0x57 -vfclass.s m vd vs1 24..20=0 31..27=0x0D 26..25=0 14=0 6..0=0x57 +vfne.s m vd vs1 vs2 31..27=0x0D 26..25=0 14=0 6..0=0x57 vfcvt.s.w m vd vs1 24..20=0 31..27=0x0E 26..25=0 14=0 6..0=0x57 vfcvt.s.wu m vd vs1 24..20=1 31..27=0x0E 26..25=0 14=0 6..0=0x57 vfcvt.s.l m vd vs1 24..20=2 31..27=0x0E 26..25=0 14=0 6..0=0x57 @@ -215,10 +218,11 @@ vfsgnjx.d m vd vs1 vs2 31..27=0x06 26..25=1 14=0 6..0=0x57 vfmin.d m vd vs1 vs2 31..27=0x07 26..25=1 14=0 6..0=0x57 vfmax.d m vd vs1 vs2 31..27=0x08 26..25=1 14=0 6..0=0x57 vfsqrt.d m vd vs1 24..20=0 31..27=0x09 26..25=1 14=0 6..0=0x57 +vfclass.d m vd vs1 24..20=1 31..27=0x09 26..25=1 14=0 6..0=0x57 vfle.d m vd vs1 vs2 31..27=0x0A 26..25=1 14=0 6..0=0x57 vflt.d m vd vs1 vs2 31..27=0x0B 26..25=1 14=0 6..0=0x57 vfeq.d m vd vs1 vs2 31..27=0x0C 26..25=1 14=0 6..0=0x57 -vfclass.d m vd vs1 24..20=0 31..27=0x0D 26..25=1 14=0 6..0=0x57 +vfne.d m vd vs1 vs2 31..27=0x0D 26..25=1 14=0 6..0=0x57 vfcvt.d.w m vd vs1 24..20=0 31..27=0x0E 26..25=1 14=0 6..0=0x57 vfcvt.d.wu m vd vs1 24..20=1 31..27=0x0E 26..25=1 14=0 6..0=0x57 vfcvt.d.l m vd vs1 24..20=2 31..27=0x0E 26..25=1 14=0 6..0=0x57 @@ -242,10 +246,11 @@ vfsgnjx.h m vd vs1 vs2 31..27=0x06 26..25=2 14=0 6..0=0x57 vfmin.h m vd vs1 vs2 31..27=0x07 26..25=2 14=0 6..0=0x57 vfmax.h m vd vs1 vs2 31..27=0x08 26..25=2 14=0 6..0=0x57 vfsqrt.h m vd vs1 24..20=0 31..27=0x09 26..25=2 14=0 6..0=0x57 +vfclass.h m vd vs1 24..20=1 31..27=0x09 26..25=2 14=0 6..0=0x57 vfle.h m vd vs1 vs2 31..27=0x0A 26..25=2 14=0 6..0=0x57 vflt.h m vd vs1 vs2 31..27=0x0B 26..25=2 14=0 6..0=0x57 vfeq.h m vd vs1 vs2 31..27=0x0C 26..25=2 14=0 6..0=0x57 -vfclass.h m vd vs1 24..20=0 31..27=0x0D 26..25=2 14=0 6..0=0x57 +vfne.h m vd vs1 vs2 31..27=0x0D 26..25=2 14=0 6..0=0x57 vfcvt.h.w m vd vs1 24..20=0 31..27=0x0E 26..25=2 14=0 6..0=0x57 vfcvt.h.wu m vd vs1 24..20=1 31..27=0x0E 26..25=2 14=0 6..0=0x57 vfcvt.h.l m vd vs1 24..20=2 31..27=0x0E 26..25=2 14=0 6..0=0x57 @@ -269,10 +274,11 @@ vfsgnjx.q m vd vs1 vs2 31..27=0x06 26..25=3 14=0 6..0=0x57 vfmin.q m vd vs1 vs2 31..27=0x07 26..25=3 14=0 6..0=0x57 vfmax.q m vd vs1 vs2 31..27=0x08 26..25=3 14=0 6..0=0x57 vfsqrt.q m vd vs1 24..20=0 31..27=0x09 26..25=3 14=0 6..0=0x57 +vfclass.q m vd vs1 24..20=1 31..27=0x09 26..25=3 14=0 6..0=0x57 vfle.q m vd vs1 vs2 31..27=0x0A 26..25=3 14=0 6..0=0x57 vflt.q m vd vs1 vs2 31..27=0x0B 26..25=3 14=0 6..0=0x57 vfeq.q m vd vs1 vs2 31..27=0x0C 26..25=3 14=0 6..0=0x57 -vfclass.q m vd vs1 24..20=0 31..27=0x0D 26..25=3 14=0 6..0=0x57 +vfne.q m vd vs1 vs2 31..27=0x0D 26..25=3 14=0 6..0=0x57 vfcvt.q.w m vd vs1 24..20=0 31..27=0x0E 26..25=3 14=0 6..0=0x57 vfcvt.q.wu m vd vs1 24..20=1 31..27=0x0E 26..25=3 14=0 6..0=0x57 vfcvt.q.l m vd vs1 24..20=2 31..27=0x0E 26..25=3 14=0 6..0=0x57 diff --git a/parse-opcodes b/parse-opcodes index 03877f3..9df1702 100755 --- a/parse-opcodes +++ b/parse-opcodes @@ -954,8 +954,8 @@ def make_vector_adoc_table(): #print_vec_subtitile('RV32V Standard Extension') print_vec_header() print_vec_insts('vadd', 'vsub', 'vsl', 'vsr', 'vand', 'vor', 'vxor') - print_vec_insts('vseq', 'vsne', 'vslt', 'vsge') print_vec_insts('vclip', 'vcvt', 'vmpop', 'vmfirst', 'vextract', 'vinsert', 'vmerge', 'vselect', 'vslide') + print_vec_insts('vseq', 'vsne', 'vslt', 'vsge', 'vsltu', 'vsgeu') print_vec_insts('vdiv', 'vrem', 'vmul', 'vmulh', 'vmulhu', 'vmulhsu') print_vec_insts('vpopc') print_vec_insts('vaddi', 'vsli', 'vsrli', 'vsrai', 'vclipi', 'vandi', 'vori', 'vxori') @@ -965,7 +965,7 @@ def make_vector_adoc_table(): print_vec_insts('vfmadd.s', 'vfmsub.s') print_vec_insts('vfadd.s', 'vfsub.s', 'vfmul.s', 'vfdiv.s', 'vfsqrt.s') print_vec_insts('vfsgnj.s', 'vfsgnjn.s', 'vfsgnjx.s', 'vfmin.s', 'vfmax.s') - print_vec_insts('vfeq.s', 'vflt.s', 'vfle.s', 'vfclass.s') + print_vec_insts('vfeq.s', 'vfne.s', 'vflt.s', 'vfle.s', 'vfclass.s') print_vec_insts('vfcvt.w.s', 'vfcvt.wu.s', 'vfmv.x.w') print_vec_insts('vfcvt.s.w', 'vfcvt.s.wu', 'vfmv.w.x') print_vec_insts('vfcvt.l.s', 'vfcvt.lu.s') @@ -975,7 +975,7 @@ def make_vector_adoc_table(): print_vec_insts('vfmadd.d', 'vfmsub.d') print_vec_insts('vfadd.d', 'vfsub.d', 'vfmul.d', 'vfdiv.d', 'vfsqrt.d') print_vec_insts('vfsgnj.d', 'vfsgnjn.d', 'vfsgnjx.d', 'vfmin.d', 'vfmax.d') - print_vec_insts('vfeq.d', 'vflt.d', 'vfle.d', 'vfclass.d') + print_vec_insts('vfeq.d', 'vfne.d', 'vflt.d', 'vfle.d', 'vfclass.d') print_vec_insts('vfcvt.s.d', 'vfcvt.d.s') print_vec_insts('vfcvt.w.d', 'vfcvt.wu.d') print_vec_insts('vfcvt.d.w', 'vfcvt.d.wu') @@ -986,7 +986,7 @@ def make_vector_adoc_table(): print_vec_insts('vfmadd.h', 'vfmsub.h') print_vec_insts('vfadd.h', 'vfsub.h', 'vfmul.h', 'vfdiv.h', 'vfsqrt.h') print_vec_insts('vfsgnj.h', 'vfsgnjn.h', 'vfsgnjx.h', 'vfmin.h', 'vfmax.h') - print_vec_insts('vfeq.h', 'vflt.h', 'vfle.h', 'vfclass.h') + print_vec_insts('vfeq.h', 'vfne.h', 'vflt.h', 'vfle.h', 'vfclass.h') print_vec_insts('vfcvt.s.h', 'vfcvt.h.s') print_vec_insts('vfcvt.w.h', 'vfcvt.wu.h') print_vec_insts('vfcvt.h.w', 'vfcvt.h.wu') @@ -997,7 +997,7 @@ def make_vector_adoc_table(): print_vec_insts('vfmadd.q', 'vfmsub.q') print_vec_insts('vfadd.q', 'vfsub.q', 'vfmul.q', 'vfdiv.q', 'vfsqrt.q') print_vec_insts('vfsgnj.q', 'vfsgnjn.q', 'vfsgnjx.q', 'vfmin.q', 'vfmax.q') - print_vec_insts('vfeq.q', 'vflt.q', 'vfle.q', 'vfclass.q') + print_vec_insts('vfeq.q', 'vfne.q', 'vflt.q', 'vfle.q', 'vfclass.q') print_vec_insts('vfcvt.s.q', 'vfcvt.q.s') print_vec_insts('vfcvt.w.q', 'vfcvt.wu.q') print_vec_insts('vfcvt.q.w', 'vfcvt.q.wu') |