mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/internal/obj/riscv: implement vector segment load/store instructions
https://github.com/riscv/riscv-opcodes/pull/361. After this pr was merged, riscv-opcode can generate RVV segment load/store instructions for Go. Implement vector segment load/store instuctions. Change-Id: I154bb75be70c0a45e2279a75c67f68b5bb57c36e Reviewed-on: https://go-review.googlesource.com/c/go/+/691695 Reviewed-by: Mark Freeman <markfreeman@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
7ddbf4d820
commit
6b8d507508
7 changed files with 1923 additions and 3 deletions
572
src/cmd/asm/internal/asm/testdata/riscv64.s
vendored
572
src/cmd/asm/internal/asm/testdata/riscv64.s
vendored
|
|
@ -543,6 +543,578 @@ start:
|
||||||
VSOXEI64V V3, V2, (X10) // a771250e
|
VSOXEI64V V3, V2, (X10) // a771250e
|
||||||
VSOXEI64V V3, V2, V0, (X10) // a771250c
|
VSOXEI64V V3, V2, V0, (X10) // a771250c
|
||||||
|
|
||||||
|
// 31.7.8: Vector Load/Store Segment Instructions
|
||||||
|
|
||||||
|
// 31.7.8.1: Vector Unit-Stride Segment Loads and Stores
|
||||||
|
VLSEG2E8V (X10), V8 // 07040522
|
||||||
|
VLSEG2E16V (X10), V8 // 07540522
|
||||||
|
VLSEG2E32V (X10), V8 // 07640522
|
||||||
|
VLSEG2E64V (X10), V8 // 07740522
|
||||||
|
VLSEG2E8V (X10), V0, V8 // 07040520
|
||||||
|
VLSEG2E16V (X10), V0, V8 // 07540520
|
||||||
|
VLSEG2E32V (X10), V0, V8 // 07640520
|
||||||
|
VLSEG2E64V (X10), V0, V8 // 07740520
|
||||||
|
|
||||||
|
VLSEG3E8V (X10), V8 // 07040542
|
||||||
|
VLSEG3E16V (X10), V8 // 07540542
|
||||||
|
VLSEG3E32V (X10), V8 // 07640542
|
||||||
|
VLSEG3E64V (X10), V8 // 07740542
|
||||||
|
VLSEG3E8V (X10), V0, V8 // 07040540
|
||||||
|
VLSEG3E16V (X10), V0, V8 // 07540540
|
||||||
|
VLSEG3E32V (X10), V0, V8 // 07640540
|
||||||
|
VLSEG3E64V (X10), V0, V8 // 07740540
|
||||||
|
|
||||||
|
VLSEG4E8V (X10), V8 // 07040562
|
||||||
|
VLSEG4E16V (X10), V8 // 07540562
|
||||||
|
VLSEG4E32V (X10), V8 // 07640562
|
||||||
|
VLSEG4E64V (X10), V8 // 07740562
|
||||||
|
VLSEG4E8V (X10), V0, V8 // 07040560
|
||||||
|
VLSEG4E16V (X10), V0, V8 // 07540560
|
||||||
|
VLSEG4E32V (X10), V0, V8 // 07640560
|
||||||
|
VLSEG4E64V (X10), V0, V8 // 07740560
|
||||||
|
|
||||||
|
VLSEG5E8V (X10), V8 // 07040582
|
||||||
|
VLSEG5E16V (X10), V8 // 07540582
|
||||||
|
VLSEG5E32V (X10), V8 // 07640582
|
||||||
|
VLSEG5E64V (X10), V8 // 07740582
|
||||||
|
VLSEG5E8V (X10), V0, V8 // 07040580
|
||||||
|
VLSEG5E16V (X10), V0, V8 // 07540580
|
||||||
|
VLSEG5E32V (X10), V0, V8 // 07640580
|
||||||
|
VLSEG5E64V (X10), V0, V8 // 07740580
|
||||||
|
|
||||||
|
VLSEG6E8V (X10), V8 // 070405a2
|
||||||
|
VLSEG6E16V (X10), V8 // 075405a2
|
||||||
|
VLSEG6E32V (X10), V8 // 076405a2
|
||||||
|
VLSEG6E64V (X10), V8 // 077405a2
|
||||||
|
VLSEG6E8V (X10), V0, V8 // 070405a0
|
||||||
|
VLSEG6E16V (X10), V0, V8 // 075405a0
|
||||||
|
VLSEG6E32V (X10), V0, V8 // 076405a0
|
||||||
|
VLSEG6E64V (X10), V0, V8 // 077405a0
|
||||||
|
|
||||||
|
VLSEG7E8V (X10), V8 // 070405c2
|
||||||
|
VLSEG7E16V (X10), V8 // 075405c2
|
||||||
|
VLSEG7E32V (X10), V8 // 076405c2
|
||||||
|
VLSEG7E64V (X10), V8 // 077405c2
|
||||||
|
VLSEG7E8V (X10), V0, V8 // 070405c0
|
||||||
|
VLSEG7E16V (X10), V0, V8 // 075405c0
|
||||||
|
VLSEG7E32V (X10), V0, V8 // 076405c0
|
||||||
|
VLSEG7E64V (X10), V0, V8 // 077405c0
|
||||||
|
|
||||||
|
VLSEG8E8V (X10), V8 // 070405e2
|
||||||
|
VLSEG8E16V (X10), V8 // 075405e2
|
||||||
|
VLSEG8E32V (X10), V8 // 076405e2
|
||||||
|
VLSEG8E64V (X10), V8 // 077405e2
|
||||||
|
VLSEG8E8V (X10), V0, V8 // 070405e0
|
||||||
|
VLSEG8E16V (X10), V0, V8 // 075405e0
|
||||||
|
VLSEG8E32V (X10), V0, V8 // 076405e0
|
||||||
|
VLSEG8E64V (X10), V0, V8 // 077405e0
|
||||||
|
|
||||||
|
VSSEG2E8V V24, (X10) // 270c0522
|
||||||
|
VSSEG2E16V V24, (X10) // 275c0522
|
||||||
|
VSSEG2E32V V24, (X10) // 276c0522
|
||||||
|
VSSEG2E64V V24, (X10) // 277c0522
|
||||||
|
VSSEG2E8V V24, V0, (X10) // 270c0520
|
||||||
|
VSSEG2E16V V24, V0, (X10) // 275c0520
|
||||||
|
VSSEG2E32V V24, V0, (X10) // 276c0520
|
||||||
|
VSSEG2E64V V24, V0, (X10) // 277c0520
|
||||||
|
|
||||||
|
VSSEG3E8V V24, (X10) // 270c0542
|
||||||
|
VSSEG3E16V V24, (X10) // 275c0542
|
||||||
|
VSSEG3E32V V24, (X10) // 276c0542
|
||||||
|
VSSEG3E64V V24, (X10) // 277c0542
|
||||||
|
VSSEG3E8V V24, V0, (X10) // 270c0540
|
||||||
|
VSSEG3E16V V24, V0, (X10) // 275c0540
|
||||||
|
VSSEG3E32V V24, V0, (X10) // 276c0540
|
||||||
|
VSSEG3E64V V24, V0, (X10) // 277c0540
|
||||||
|
|
||||||
|
VSSEG4E8V V24, (X10) // 270c0562
|
||||||
|
VSSEG4E16V V24, (X10) // 275c0562
|
||||||
|
VSSEG4E32V V24, (X10) // 276c0562
|
||||||
|
VSSEG4E64V V24, (X10) // 277c0562
|
||||||
|
VSSEG4E8V V24, V0, (X10) // 270c0560
|
||||||
|
VSSEG4E16V V24, V0, (X10) // 275c0560
|
||||||
|
VSSEG4E32V V24, V0, (X10) // 276c0560
|
||||||
|
VSSEG4E64V V24, V0, (X10) // 277c0560
|
||||||
|
|
||||||
|
VSSEG5E8V V24, (X10) // 270c0582
|
||||||
|
VSSEG5E16V V24, (X10) // 275c0582
|
||||||
|
VSSEG5E32V V24, (X10) // 276c0582
|
||||||
|
VSSEG5E64V V24, (X10) // 277c0582
|
||||||
|
VSSEG5E8V V24, V0, (X10) // 270c0580
|
||||||
|
VSSEG5E16V V24, V0, (X10) // 275c0580
|
||||||
|
VSSEG5E32V V24, V0, (X10) // 276c0580
|
||||||
|
VSSEG5E64V V24, V0, (X10) // 277c0580
|
||||||
|
|
||||||
|
VSSEG6E8V V24, (X10) // 270c05a2
|
||||||
|
VSSEG6E16V V24, (X10) // 275c05a2
|
||||||
|
VSSEG6E32V V24, (X10) // 276c05a2
|
||||||
|
VSSEG6E64V V24, (X10) // 277c05a2
|
||||||
|
VSSEG6E8V V24, V0, (X10) // 270c05a0
|
||||||
|
VSSEG6E16V V24, V0, (X10) // 275c05a0
|
||||||
|
VSSEG6E32V V24, V0, (X10) // 276c05a0
|
||||||
|
VSSEG6E64V V24, V0, (X10) // 277c05a0
|
||||||
|
|
||||||
|
VSSEG7E8V V24, (X10) // 270c05c2
|
||||||
|
VSSEG7E16V V24, (X10) // 275c05c2
|
||||||
|
VSSEG7E32V V24, (X10) // 276c05c2
|
||||||
|
VSSEG7E64V V24, (X10) // 277c05c2
|
||||||
|
VSSEG7E8V V24, V0, (X10) // 270c05c0
|
||||||
|
VSSEG7E16V V24, V0, (X10) // 275c05c0
|
||||||
|
VSSEG7E32V V24, V0, (X10) // 276c05c0
|
||||||
|
VSSEG7E64V V24, V0, (X10) // 277c05c0
|
||||||
|
|
||||||
|
VSSEG8E8V V24, (X10) // 270c05e2
|
||||||
|
VSSEG8E16V V24, (X10) // 275c05e2
|
||||||
|
VSSEG8E32V V24, (X10) // 276c05e2
|
||||||
|
VSSEG8E64V V24, (X10) // 277c05e2
|
||||||
|
VSSEG8E8V V24, V0, (X10) // 270c05e0
|
||||||
|
VSSEG8E16V V24, V0, (X10) // 275c05e0
|
||||||
|
VSSEG8E32V V24, V0, (X10) // 276c05e0
|
||||||
|
VSSEG8E64V V24, V0, (X10) // 277c05e0
|
||||||
|
|
||||||
|
VLSEG2E8FFV (X10), V8 // 07040523
|
||||||
|
VLSEG2E16FFV (X10), V8 // 07540523
|
||||||
|
VLSEG2E32FFV (X10), V8 // 07640523
|
||||||
|
VLSEG2E64FFV (X10), V8 // 07740523
|
||||||
|
VLSEG2E8FFV (X10), V0, V8 // 07040521
|
||||||
|
VLSEG2E16FFV (X10), V0, V8 // 07540521
|
||||||
|
VLSEG2E32FFV (X10), V0, V8 // 07640521
|
||||||
|
VLSEG2E64FFV (X10), V0, V8 // 07740521
|
||||||
|
|
||||||
|
VLSEG3E8FFV (X10), V8 // 07040543
|
||||||
|
VLSEG3E16FFV (X10), V8 // 07540543
|
||||||
|
VLSEG3E32FFV (X10), V8 // 07640543
|
||||||
|
VLSEG3E64FFV (X10), V8 // 07740543
|
||||||
|
VLSEG3E8FFV (X10), V0, V8 // 07040541
|
||||||
|
VLSEG3E16FFV (X10), V0, V8 // 07540541
|
||||||
|
VLSEG3E32FFV (X10), V0, V8 // 07640541
|
||||||
|
VLSEG3E64FFV (X10), V0, V8 // 07740541
|
||||||
|
|
||||||
|
VLSEG4E8FFV (X10), V8 // 07040563
|
||||||
|
VLSEG4E16FFV (X10), V8 // 07540563
|
||||||
|
VLSEG4E32FFV (X10), V8 // 07640563
|
||||||
|
VLSEG4E64FFV (X10), V8 // 07740563
|
||||||
|
VLSEG4E8FFV (X10), V0, V8 // 07040561
|
||||||
|
VLSEG4E16FFV (X10), V0, V8 // 07540561
|
||||||
|
VLSEG4E32FFV (X10), V0, V8 // 07640561
|
||||||
|
VLSEG4E64FFV (X10), V0, V8 // 07740561
|
||||||
|
|
||||||
|
VLSEG5E8FFV (X10), V8 // 07040583
|
||||||
|
VLSEG5E16FFV (X10), V8 // 07540583
|
||||||
|
VLSEG5E32FFV (X10), V8 // 07640583
|
||||||
|
VLSEG5E64FFV (X10), V8 // 07740583
|
||||||
|
VLSEG5E8FFV (X10), V0, V8 // 07040581
|
||||||
|
VLSEG5E16FFV (X10), V0, V8 // 07540581
|
||||||
|
VLSEG5E32FFV (X10), V0, V8 // 07640581
|
||||||
|
VLSEG5E64FFV (X10), V0, V8 // 07740581
|
||||||
|
|
||||||
|
VLSEG6E8FFV (X10), V8 // 070405a3
|
||||||
|
VLSEG6E16FFV (X10), V8 // 075405a3
|
||||||
|
VLSEG6E32FFV (X10), V8 // 076405a3
|
||||||
|
VLSEG6E64FFV (X10), V8 // 077405a3
|
||||||
|
VLSEG6E8FFV (X10), V0, V8 // 070405a1
|
||||||
|
VLSEG6E16FFV (X10), V0, V8 // 075405a1
|
||||||
|
VLSEG6E32FFV (X10), V0, V8 // 076405a1
|
||||||
|
VLSEG6E64FFV (X10), V0, V8 // 077405a1
|
||||||
|
|
||||||
|
VLSEG7E8FFV (X10), V8 // 070405c3
|
||||||
|
VLSEG7E16FFV (X10), V8 // 075405c3
|
||||||
|
VLSEG7E32FFV (X10), V8 // 076405c3
|
||||||
|
VLSEG7E64FFV (X10), V8 // 077405c3
|
||||||
|
VLSEG7E8FFV (X10), V0, V8 // 070405c1
|
||||||
|
VLSEG7E16FFV (X10), V0, V8 // 075405c1
|
||||||
|
VLSEG7E32FFV (X10), V0, V8 // 076405c1
|
||||||
|
VLSEG7E64FFV (X10), V0, V8 // 077405c1
|
||||||
|
|
||||||
|
VLSEG8E8FFV (X10), V8 // 070405e3
|
||||||
|
VLSEG8E16FFV (X10), V8 // 075405e3
|
||||||
|
VLSEG8E32FFV (X10), V8 // 076405e3
|
||||||
|
VLSEG8E64FFV (X10), V8 // 077405e3
|
||||||
|
VLSEG8E8FFV (X10), V0, V8 // 070405e1
|
||||||
|
VLSEG8E16FFV (X10), V0, V8 // 075405e1
|
||||||
|
VLSEG8E32FFV (X10), V0, V8 // 076405e1
|
||||||
|
VLSEG8E64FFV (X10), V0, V8 // 077405e1
|
||||||
|
|
||||||
|
// 31.7.8.2: Vector Strided Segment Loads and Stores
|
||||||
|
VLSSEG2E8V (X10), X11, V8 // 0704b52a
|
||||||
|
VLSSEG2E16V (X10), X11, V8 // 0754b52a
|
||||||
|
VLSSEG2E32V (X10), X11, V8 // 0764b52a
|
||||||
|
VLSSEG2E64V (X10), X11, V8 // 0774b52a
|
||||||
|
VLSSEG2E8V (X10), X11, V0, V8 // 0704b528
|
||||||
|
VLSSEG2E16V (X10), X11, V0, V8 // 0754b528
|
||||||
|
VLSSEG2E32V (X10), X11, V0, V8 // 0764b528
|
||||||
|
VLSSEG2E64V (X10), X11, V0, V8 // 0774b528
|
||||||
|
|
||||||
|
VLSSEG3E8V (X10), X11, V8 // 0704b54a
|
||||||
|
VLSSEG3E16V (X10), X11, V8 // 0754b54a
|
||||||
|
VLSSEG3E32V (X10), X11, V8 // 0764b54a
|
||||||
|
VLSSEG3E64V (X10), X11, V8 // 0774b54a
|
||||||
|
VLSSEG3E8V (X10), X11, V0, V8 // 0704b548
|
||||||
|
VLSSEG3E16V (X10), X11, V0, V8 // 0754b548
|
||||||
|
VLSSEG3E32V (X10), X11, V0, V8 // 0764b548
|
||||||
|
VLSSEG3E64V (X10), X11, V0, V8 // 0774b548
|
||||||
|
|
||||||
|
VLSSEG4E8V (X10), X11, V8 // 0704b56a
|
||||||
|
VLSSEG4E16V (X10), X11, V8 // 0754b56a
|
||||||
|
VLSSEG4E32V (X10), X11, V8 // 0764b56a
|
||||||
|
VLSSEG4E64V (X10), X11, V8 // 0774b56a
|
||||||
|
VLSSEG4E8V (X10), X11, V0, V8 // 0704b568
|
||||||
|
VLSSEG4E16V (X10), X11, V0, V8 // 0754b568
|
||||||
|
VLSSEG4E32V (X10), X11, V0, V8 // 0764b568
|
||||||
|
VLSSEG4E64V (X10), X11, V0, V8 // 0774b568
|
||||||
|
|
||||||
|
VLSSEG5E8V (X10), X11, V8 // 0704b58a
|
||||||
|
VLSSEG5E16V (X10), X11, V8 // 0754b58a
|
||||||
|
VLSSEG5E32V (X10), X11, V8 // 0764b58a
|
||||||
|
VLSSEG5E64V (X10), X11, V8 // 0774b58a
|
||||||
|
VLSSEG5E8V (X10), X11, V0, V8 // 0704b588
|
||||||
|
VLSSEG5E16V (X10), X11, V0, V8 // 0754b588
|
||||||
|
VLSSEG5E32V (X10), X11, V0, V8 // 0764b588
|
||||||
|
VLSSEG5E64V (X10), X11, V0, V8 // 0774b588
|
||||||
|
|
||||||
|
VLSSEG6E8V (X10), X11, V8 // 0704b5aa
|
||||||
|
VLSSEG6E16V (X10), X11, V8 // 0754b5aa
|
||||||
|
VLSSEG6E32V (X10), X11, V8 // 0764b5aa
|
||||||
|
VLSSEG6E64V (X10), X11, V8 // 0774b5aa
|
||||||
|
VLSSEG6E8V (X10), X11, V0, V8 // 0704b5a8
|
||||||
|
VLSSEG6E16V (X10), X11, V0, V8 // 0754b5a8
|
||||||
|
VLSSEG6E32V (X10), X11, V0, V8 // 0764b5a8
|
||||||
|
VLSSEG6E64V (X10), X11, V0, V8 // 0774b5a8
|
||||||
|
|
||||||
|
VLSSEG7E8V (X10), X11, V8 // 0704b5ca
|
||||||
|
VLSSEG7E16V (X10), X11, V8 // 0754b5ca
|
||||||
|
VLSSEG7E32V (X10), X11, V8 // 0764b5ca
|
||||||
|
VLSSEG7E64V (X10), X11, V8 // 0774b5ca
|
||||||
|
VLSSEG7E8V (X10), X11, V0, V8 // 0704b5c8
|
||||||
|
VLSSEG7E16V (X10), X11, V0, V8 // 0754b5c8
|
||||||
|
VLSSEG7E32V (X10), X11, V0, V8 // 0764b5c8
|
||||||
|
VLSSEG7E64V (X10), X11, V0, V8 // 0774b5c8
|
||||||
|
|
||||||
|
VLSSEG8E8V (X10), X11, V8 // 0704b5ea
|
||||||
|
VLSSEG8E16V (X10), X11, V8 // 0754b5ea
|
||||||
|
VLSSEG8E32V (X10), X11, V8 // 0764b5ea
|
||||||
|
VLSSEG8E64V (X10), X11, V8 // 0774b5ea
|
||||||
|
VLSSEG8E8V (X10), X11, V0, V8 // 0704b5e8
|
||||||
|
VLSSEG8E16V (X10), X11, V0, V8 // 0754b5e8
|
||||||
|
VLSSEG8E32V (X10), X11, V0, V8 // 0764b5e8
|
||||||
|
VLSSEG8E64V (X10), X11, V0, V8 // 0774b5e8
|
||||||
|
|
||||||
|
VSSSEG2E8V V24, X11, (X10) // 270cb52a
|
||||||
|
VSSSEG2E16V V24, X11, (X10) // 275cb52a
|
||||||
|
VSSSEG2E32V V24, X11, (X10) // 276cb52a
|
||||||
|
VSSSEG2E64V V24, X11, (X10) // 277cb52a
|
||||||
|
VSSSEG2E8V V24, X11, V0, (X10) // 270cb528
|
||||||
|
VSSSEG2E16V V24, X11, V0, (X10) // 275cb528
|
||||||
|
VSSSEG2E32V V24, X11, V0, (X10) // 276cb528
|
||||||
|
VSSSEG2E64V V24, X11, V0, (X10) // 277cb528
|
||||||
|
|
||||||
|
VSSSEG3E8V V24, X11, (X10) // 270cb54a
|
||||||
|
VSSSEG3E16V V24, X11, (X10) // 275cb54a
|
||||||
|
VSSSEG3E32V V24, X11, (X10) // 276cb54a
|
||||||
|
VSSSEG3E64V V24, X11, (X10) // 277cb54a
|
||||||
|
VSSSEG3E8V V24, X11, V0, (X10) // 270cb548
|
||||||
|
VSSSEG3E16V V24, X11, V0, (X10) // 275cb548
|
||||||
|
VSSSEG3E32V V24, X11, V0, (X10) // 276cb548
|
||||||
|
VSSSEG3E64V V24, X11, V0, (X10) // 277cb548
|
||||||
|
|
||||||
|
VSSSEG4E8V V24, X11, (X10) // 270cb56a
|
||||||
|
VSSSEG4E16V V24, X11, (X10) // 275cb56a
|
||||||
|
VSSSEG4E32V V24, X11, (X10) // 276cb56a
|
||||||
|
VSSSEG4E64V V24, X11, (X10) // 277cb56a
|
||||||
|
VSSSEG4E8V V24, X11, V0, (X10) // 270cb568
|
||||||
|
VSSSEG4E16V V24, X11, V0, (X10) // 275cb568
|
||||||
|
VSSSEG4E32V V24, X11, V0, (X10) // 276cb568
|
||||||
|
VSSSEG4E64V V24, X11, V0, (X10) // 277cb568
|
||||||
|
|
||||||
|
VSSSEG5E8V V24, X11, (X10) // 270cb58a
|
||||||
|
VSSSEG5E16V V24, X11, (X10) // 275cb58a
|
||||||
|
VSSSEG5E32V V24, X11, (X10) // 276cb58a
|
||||||
|
VSSSEG5E64V V24, X11, (X10) // 277cb58a
|
||||||
|
VSSSEG5E8V V24, X11, V0, (X10) // 270cb588
|
||||||
|
VSSSEG5E16V V24, X11, V0, (X10) // 275cb588
|
||||||
|
VSSSEG5E32V V24, X11, V0, (X10) // 276cb588
|
||||||
|
VSSSEG5E64V V24, X11, V0, (X10) // 277cb588
|
||||||
|
|
||||||
|
VSSSEG6E8V V24, X11, (X10) // 270cb5aa
|
||||||
|
VSSSEG6E16V V24, X11, (X10) // 275cb5aa
|
||||||
|
VSSSEG6E32V V24, X11, (X10) // 276cb5aa
|
||||||
|
VSSSEG6E64V V24, X11, (X10) // 277cb5aa
|
||||||
|
VSSSEG6E8V V24, X11, V0, (X10) // 270cb5a8
|
||||||
|
VSSSEG6E16V V24, X11, V0, (X10) // 275cb5a8
|
||||||
|
VSSSEG6E32V V24, X11, V0, (X10) // 276cb5a8
|
||||||
|
VSSSEG6E64V V24, X11, V0, (X10) // 277cb5a8
|
||||||
|
|
||||||
|
VSSSEG7E8V V24, X11, (X10) // 270cb5ca
|
||||||
|
VSSSEG7E16V V24, X11, (X10) // 275cb5ca
|
||||||
|
VSSSEG7E32V V24, X11, (X10) // 276cb5ca
|
||||||
|
VSSSEG7E64V V24, X11, (X10) // 277cb5ca
|
||||||
|
VSSSEG7E8V V24, X11, V0, (X10) // 270cb5c8
|
||||||
|
VSSSEG7E16V V24, X11, V0, (X10) // 275cb5c8
|
||||||
|
VSSSEG7E32V V24, X11, V0, (X10) // 276cb5c8
|
||||||
|
VSSSEG7E64V V24, X11, V0, (X10) // 277cb5c8
|
||||||
|
|
||||||
|
VSSSEG8E8V V24, X11, (X10) // 270cb5ea
|
||||||
|
VSSSEG8E16V V24, X11, (X10) // 275cb5ea
|
||||||
|
VSSSEG8E32V V24, X11, (X10) // 276cb5ea
|
||||||
|
VSSSEG8E64V V24, X11, (X10) // 277cb5ea
|
||||||
|
VSSSEG8E8V V24, X11, V0, (X10) // 270cb5e8
|
||||||
|
VSSSEG8E16V V24, X11, V0, (X10) // 275cb5e8
|
||||||
|
VSSSEG8E32V V24, X11, V0, (X10) // 276cb5e8
|
||||||
|
VSSSEG8E64V V24, X11, V0, (X10) // 277cb5e8
|
||||||
|
|
||||||
|
// 31.7.8.3: Vector Indexed Segment Loads and Stores
|
||||||
|
|
||||||
|
VLUXSEG2EI8V (X10), V4, V8 // 07044526
|
||||||
|
VLUXSEG2EI16V (X10), V4, V8 // 07544526
|
||||||
|
VLUXSEG2EI32V (X10), V4, V8 // 07644526
|
||||||
|
VLUXSEG2EI64V (X10), V4, V8 // 07744526
|
||||||
|
VLUXSEG2EI8V (X10), V4, V0, V8 // 07044524
|
||||||
|
VLUXSEG2EI16V (X10), V4, V0, V8 // 07544524
|
||||||
|
VLUXSEG2EI32V (X10), V4, V0, V8 // 07644524
|
||||||
|
VLUXSEG2EI64V (X10), V4, V0, V8 // 07744524
|
||||||
|
|
||||||
|
VLUXSEG3EI8V (X10), V4, V8 // 07044546
|
||||||
|
VLUXSEG3EI16V (X10), V4, V8 // 07544546
|
||||||
|
VLUXSEG3EI32V (X10), V4, V8 // 07644546
|
||||||
|
VLUXSEG3EI64V (X10), V4, V8 // 07744546
|
||||||
|
VLUXSEG3EI8V (X10), V4, V0, V8 // 07044544
|
||||||
|
VLUXSEG3EI16V (X10), V4, V0, V8 // 07544544
|
||||||
|
VLUXSEG3EI32V (X10), V4, V0, V8 // 07644544
|
||||||
|
VLUXSEG3EI64V (X10), V4, V0, V8 // 07744544
|
||||||
|
|
||||||
|
VLUXSEG4EI8V (X10), V4, V8 // 07044566
|
||||||
|
VLUXSEG4EI16V (X10), V4, V8 // 07544566
|
||||||
|
VLUXSEG4EI32V (X10), V4, V8 // 07644566
|
||||||
|
VLUXSEG4EI64V (X10), V4, V8 // 07744566
|
||||||
|
VLUXSEG4EI8V (X10), V4, V0, V8 // 07044564
|
||||||
|
VLUXSEG4EI16V (X10), V4, V0, V8 // 07544564
|
||||||
|
VLUXSEG4EI32V (X10), V4, V0, V8 // 07644564
|
||||||
|
VLUXSEG4EI64V (X10), V4, V0, V8 // 07744564
|
||||||
|
|
||||||
|
VLUXSEG5EI8V (X10), V4, V8 // 07044586
|
||||||
|
VLUXSEG5EI16V (X10), V4, V8 // 07544586
|
||||||
|
VLUXSEG5EI32V (X10), V4, V8 // 07644586
|
||||||
|
VLUXSEG5EI64V (X10), V4, V8 // 07744586
|
||||||
|
VLUXSEG5EI8V (X10), V4, V0, V8 // 07044584
|
||||||
|
VLUXSEG5EI16V (X10), V4, V0, V8 // 07544584
|
||||||
|
VLUXSEG5EI32V (X10), V4, V0, V8 // 07644584
|
||||||
|
VLUXSEG5EI64V (X10), V4, V0, V8 // 07744584
|
||||||
|
|
||||||
|
VLUXSEG6EI8V (X10), V4, V8 // 070445a6
|
||||||
|
VLUXSEG6EI16V (X10), V4, V8 // 075445a6
|
||||||
|
VLUXSEG6EI32V (X10), V4, V8 // 076445a6
|
||||||
|
VLUXSEG6EI64V (X10), V4, V8 // 077445a6
|
||||||
|
VLUXSEG6EI8V (X10), V4, V0, V8 // 070445a4
|
||||||
|
VLUXSEG6EI16V (X10), V4, V0, V8 // 075445a4
|
||||||
|
VLUXSEG6EI32V (X10), V4, V0, V8 // 076445a4
|
||||||
|
VLUXSEG6EI64V (X10), V4, V0, V8 // 077445a4
|
||||||
|
|
||||||
|
VLOXSEG6EI8V (X10), V4, V8 // 070445ae
|
||||||
|
VLOXSEG6EI16V (X10), V4, V8 // 075445ae
|
||||||
|
VLOXSEG6EI32V (X10), V4, V8 // 076445ae
|
||||||
|
VLOXSEG6EI64V (X10), V4, V8 // 077445ae
|
||||||
|
VLOXSEG6EI8V (X10), V4, V0, V8 // 070445ac
|
||||||
|
VLOXSEG6EI16V (X10), V4, V0, V8 // 075445ac
|
||||||
|
VLOXSEG6EI32V (X10), V4, V0, V8 // 076445ac
|
||||||
|
VLOXSEG6EI64V (X10), V4, V0, V8 // 077445ac
|
||||||
|
|
||||||
|
VLUXSEG7EI8V (X10), V4, V8 // 070445c6
|
||||||
|
VLUXSEG7EI16V (X10), V4, V8 // 075445c6
|
||||||
|
VLUXSEG7EI32V (X10), V4, V8 // 076445c6
|
||||||
|
VLUXSEG7EI64V (X10), V4, V8 // 077445c6
|
||||||
|
VLUXSEG7EI8V (X10), V4, V0, V8 // 070445c4
|
||||||
|
VLUXSEG7EI16V (X10), V4, V0, V8 // 075445c4
|
||||||
|
VLUXSEG7EI32V (X10), V4, V0, V8 // 076445c4
|
||||||
|
VLUXSEG7EI64V (X10), V4, V0, V8 // 077445c4
|
||||||
|
|
||||||
|
VLUXSEG8EI8V (X10), V4, V8 // 070445e6
|
||||||
|
VLUXSEG8EI16V (X10), V4, V8 // 075445e6
|
||||||
|
VLUXSEG8EI32V (X10), V4, V8 // 076445e6
|
||||||
|
VLUXSEG8EI64V (X10), V4, V8 // 077445e6
|
||||||
|
VLUXSEG8EI8V (X10), V4, V0, V8 // 070445e4
|
||||||
|
VLUXSEG8EI16V (X10), V4, V0, V8 // 075445e4
|
||||||
|
VLUXSEG8EI32V (X10), V4, V0, V8 // 076445e4
|
||||||
|
VLUXSEG8EI64V (X10), V4, V0, V8 // 077445e4
|
||||||
|
|
||||||
|
VSUXSEG2EI8V V24, V4, (X10) // 270c4526
|
||||||
|
VSUXSEG2EI16V V24, V4, (X10) // 275c4526
|
||||||
|
VSUXSEG2EI32V V24, V4, (X10) // 276c4526
|
||||||
|
VSUXSEG2EI64V V24, V4, (X10) // 277c4526
|
||||||
|
VSUXSEG2EI8V V24, V4, V0, (X10) // 270c4524
|
||||||
|
VSUXSEG2EI16V V24, V4, V0, (X10) // 275c4524
|
||||||
|
VSUXSEG2EI32V V24, V4, V0, (X10) // 276c4524
|
||||||
|
VSUXSEG2EI64V V24, V4, V0, (X10) // 277c4524
|
||||||
|
|
||||||
|
VSUXSEG3EI8V V24, V4, (X10) // 270c4546
|
||||||
|
VSUXSEG3EI16V V24, V4, (X10) // 275c4546
|
||||||
|
VSUXSEG3EI32V V24, V4, (X10) // 276c4546
|
||||||
|
VSUXSEG3EI64V V24, V4, (X10) // 277c4546
|
||||||
|
VSUXSEG3EI8V V24, V4, V0, (X10) // 270c4544
|
||||||
|
VSUXSEG3EI16V V24, V4, V0, (X10) // 275c4544
|
||||||
|
VSUXSEG3EI32V V24, V4, V0, (X10) // 276c4544
|
||||||
|
VSUXSEG3EI64V V24, V4, V0, (X10) // 277c4544
|
||||||
|
|
||||||
|
VSUXSEG4EI8V V24, V4, (X10) // 270c4566
|
||||||
|
VSUXSEG4EI16V V24, V4, (X10) // 275c4566
|
||||||
|
VSUXSEG4EI32V V24, V4, (X10) // 276c4566
|
||||||
|
VSUXSEG4EI64V V24, V4, (X10) // 277c4566
|
||||||
|
VSUXSEG4EI8V V24, V4, V0, (X10) // 270c4564
|
||||||
|
VSUXSEG4EI16V V24, V4, V0, (X10) // 275c4564
|
||||||
|
VSUXSEG4EI32V V24, V4, V0, (X10) // 276c4564
|
||||||
|
VSUXSEG4EI64V V24, V4, V0, (X10) // 277c4564
|
||||||
|
|
||||||
|
VSUXSEG5EI8V V24, V4, (X10) // 270c4586
|
||||||
|
VSUXSEG5EI16V V24, V4, (X10) // 275c4586
|
||||||
|
VSUXSEG5EI32V V24, V4, (X10) // 276c4586
|
||||||
|
VSUXSEG5EI64V V24, V4, (X10) // 277c4586
|
||||||
|
VSUXSEG5EI8V V24, V4, V0, (X10) // 270c4584
|
||||||
|
VSUXSEG5EI16V V24, V4, V0, (X10) // 275c4584
|
||||||
|
VSUXSEG5EI32V V24, V4, V0, (X10) // 276c4584
|
||||||
|
VSUXSEG5EI64V V24, V4, V0, (X10) // 277c4584
|
||||||
|
|
||||||
|
VSUXSEG6EI8V V24, V4, (X10) // 270c45a6
|
||||||
|
VSUXSEG6EI16V V24, V4, (X10) // 275c45a6
|
||||||
|
VSUXSEG6EI32V V24, V4, (X10) // 276c45a6
|
||||||
|
VSUXSEG6EI64V V24, V4, (X10) // 277c45a6
|
||||||
|
VSUXSEG6EI8V V24, V4, V0, (X10) // 270c45a4
|
||||||
|
VSUXSEG6EI16V V24, V4, V0, (X10) // 275c45a4
|
||||||
|
VSUXSEG6EI32V V24, V4, V0, (X10) // 276c45a4
|
||||||
|
VSUXSEG6EI64V V24, V4, V0, (X10) // 277c45a4
|
||||||
|
|
||||||
|
VSUXSEG7EI8V V24, V4, (X10) // 270c45c6
|
||||||
|
VSUXSEG7EI16V V24, V4, (X10) // 275c45c6
|
||||||
|
VSUXSEG7EI32V V24, V4, (X10) // 276c45c6
|
||||||
|
VSUXSEG7EI64V V24, V4, (X10) // 277c45c6
|
||||||
|
VSUXSEG7EI8V V24, V4, V0, (X10) // 270c45c4
|
||||||
|
VSUXSEG7EI16V V24, V4, V0, (X10) // 275c45c4
|
||||||
|
VSUXSEG7EI32V V24, V4, V0, (X10) // 276c45c4
|
||||||
|
VSUXSEG7EI64V V24, V4, V0, (X10) // 277c45c4
|
||||||
|
|
||||||
|
VSUXSEG8EI8V V24, V4, (X10) // 270c45e6
|
||||||
|
VSUXSEG8EI16V V24, V4, (X10) // 275c45e6
|
||||||
|
VSUXSEG8EI32V V24, V4, (X10) // 276c45e6
|
||||||
|
VSUXSEG8EI64V V24, V4, (X10) // 277c45e6
|
||||||
|
VSUXSEG8EI8V V24, V4, V0, (X10) // 270c45e4
|
||||||
|
VSUXSEG8EI16V V24, V4, V0, (X10) // 275c45e4
|
||||||
|
VSUXSEG8EI32V V24, V4, V0, (X10) // 276c45e4
|
||||||
|
VSUXSEG8EI64V V24, V4, V0, (X10) // 277c45e4
|
||||||
|
|
||||||
|
VLOXSEG2EI8V (X10), V4, V8 // 0704452e
|
||||||
|
VLOXSEG2EI16V (X10), V4, V8 // 0754452e
|
||||||
|
VLOXSEG2EI32V (X10), V4, V8 // 0764452e
|
||||||
|
VLOXSEG2EI64V (X10), V4, V8 // 0774452e
|
||||||
|
VLOXSEG2EI8V (X10), V4, V0, V8 // 0704452c
|
||||||
|
VLOXSEG2EI16V (X10), V4, V0, V8 // 0754452c
|
||||||
|
VLOXSEG2EI32V (X10), V4, V0, V8 // 0764452c
|
||||||
|
VLOXSEG2EI64V (X10), V4, V0, V8 // 0774452c
|
||||||
|
|
||||||
|
VLOXSEG3EI8V (X10), V4, V8 // 0704454e
|
||||||
|
VLOXSEG3EI16V (X10), V4, V8 // 0754454e
|
||||||
|
VLOXSEG3EI32V (X10), V4, V8 // 0764454e
|
||||||
|
VLOXSEG3EI64V (X10), V4, V8 // 0774454e
|
||||||
|
VLOXSEG3EI8V (X10), V4, V0, V8 // 0704454c
|
||||||
|
VLOXSEG3EI16V (X10), V4, V0, V8 // 0754454c
|
||||||
|
VLOXSEG3EI32V (X10), V4, V0, V8 // 0764454c
|
||||||
|
VLOXSEG3EI64V (X10), V4, V0, V8 // 0774454c
|
||||||
|
VLOXSEG4EI8V (X10), V4, V8 // 0704456e
|
||||||
|
VLOXSEG4EI16V (X10), V4, V8 // 0754456e
|
||||||
|
VLOXSEG4EI32V (X10), V4, V8 // 0764456e
|
||||||
|
VLOXSEG4EI64V (X10), V4, V8 // 0774456e
|
||||||
|
VLOXSEG4EI8V (X10), V4, V0, V8 // 0704456c
|
||||||
|
VLOXSEG4EI16V (X10), V4, V0, V8 // 0754456c
|
||||||
|
VLOXSEG4EI32V (X10), V4, V0, V8 // 0764456c
|
||||||
|
VLOXSEG4EI64V (X10), V4, V0, V8 // 0774456c
|
||||||
|
|
||||||
|
VLOXSEG5EI8V (X10), V4, V8 // 0704458e
|
||||||
|
VLOXSEG5EI16V (X10), V4, V8 // 0754458e
|
||||||
|
VLOXSEG5EI32V (X10), V4, V8 // 0764458e
|
||||||
|
VLOXSEG5EI64V (X10), V4, V8 // 0774458e
|
||||||
|
VLOXSEG5EI8V (X10), V4, V0, V8 // 0704458c
|
||||||
|
VLOXSEG5EI16V (X10), V4, V0, V8 // 0754458c
|
||||||
|
VLOXSEG5EI32V (X10), V4, V0, V8 // 0764458c
|
||||||
|
VLOXSEG5EI64V (X10), V4, V0, V8 // 0774458c
|
||||||
|
|
||||||
|
VLOXSEG7EI8V (X10), V4, V8 // 070445ce
|
||||||
|
VLOXSEG7EI16V (X10), V4, V8 // 075445ce
|
||||||
|
VLOXSEG7EI32V (X10), V4, V8 // 076445ce
|
||||||
|
VLOXSEG7EI64V (X10), V4, V8 // 077445ce
|
||||||
|
VLOXSEG7EI8V (X10), V4, V0, V8 // 070445cc
|
||||||
|
VLOXSEG7EI16V (X10), V4, V0, V8 // 075445cc
|
||||||
|
VLOXSEG7EI32V (X10), V4, V0, V8 // 076445cc
|
||||||
|
VLOXSEG7EI64V (X10), V4, V0, V8 // 077445cc
|
||||||
|
|
||||||
|
VLOXSEG8EI8V (X10), V4, V8 // 070445ee
|
||||||
|
VLOXSEG8EI16V (X10), V4, V8 // 075445ee
|
||||||
|
VLOXSEG8EI32V (X10), V4, V8 // 076445ee
|
||||||
|
VLOXSEG8EI64V (X10), V4, V8 // 077445ee
|
||||||
|
VLOXSEG8EI8V (X10), V4, V0, V8 // 070445ec
|
||||||
|
VLOXSEG8EI16V (X10), V4, V0, V8 // 075445ec
|
||||||
|
VLOXSEG8EI32V (X10), V4, V0, V8 // 076445ec
|
||||||
|
VLOXSEG8EI64V (X10), V4, V0, V8 // 077445ec
|
||||||
|
|
||||||
|
VSOXSEG2EI8V V24, V4, (X10) // 270c452e
|
||||||
|
VSOXSEG2EI16V V24, V4, (X10) // 275c452e
|
||||||
|
VSOXSEG2EI32V V24, V4, (X10) // 276c452e
|
||||||
|
VSOXSEG2EI64V V24, V4, (X10) // 277c452e
|
||||||
|
VSOXSEG2EI8V V24, V4, V0, (X10) // 270c452c
|
||||||
|
VSOXSEG2EI16V V24, V4, V0, (X10) // 275c452c
|
||||||
|
VSOXSEG2EI32V V24, V4, V0, (X10) // 276c452c
|
||||||
|
VSOXSEG2EI64V V24, V4, V0, (X10) // 277c452c
|
||||||
|
|
||||||
|
VSOXSEG3EI8V V24, V4, (X10) // 270c454e
|
||||||
|
VSOXSEG3EI16V V24, V4, (X10) // 275c454e
|
||||||
|
VSOXSEG3EI32V V24, V4, (X10) // 276c454e
|
||||||
|
VSOXSEG3EI64V V24, V4, (X10) // 277c454e
|
||||||
|
VSOXSEG3EI8V V24, V4, V0, (X10) // 270c454c
|
||||||
|
VSOXSEG3EI16V V24, V4, V0, (X10) // 275c454c
|
||||||
|
VSOXSEG3EI32V V24, V4, V0, (X10) // 276c454c
|
||||||
|
VSOXSEG3EI64V V24, V4, V0, (X10) // 277c454c
|
||||||
|
|
||||||
|
VSOXSEG4EI8V V24, V4, (X10) // 270c456e
|
||||||
|
VSOXSEG4EI16V V24, V4, (X10) // 275c456e
|
||||||
|
VSOXSEG4EI32V V24, V4, (X10) // 276c456e
|
||||||
|
VSOXSEG4EI64V V24, V4, (X10) // 277c456e
|
||||||
|
VSOXSEG4EI8V V24, V4, V0, (X10) // 270c456c
|
||||||
|
VSOXSEG4EI16V V24, V4, V0, (X10) // 275c456c
|
||||||
|
VSOXSEG4EI32V V24, V4, V0, (X10) // 276c456c
|
||||||
|
VSOXSEG4EI64V V24, V4, V0, (X10) // 277c456c
|
||||||
|
|
||||||
|
VSOXSEG5EI8V V24, V4, (X10) // 270c458e
|
||||||
|
VSOXSEG5EI16V V24, V4, (X10) // 275c458e
|
||||||
|
VSOXSEG5EI32V V24, V4, (X10) // 276c458e
|
||||||
|
VSOXSEG5EI64V V24, V4, (X10) // 277c458e
|
||||||
|
VSOXSEG5EI8V V24, V4, V0, (X10) // 270c458c
|
||||||
|
VSOXSEG5EI16V V24, V4, V0, (X10) // 275c458c
|
||||||
|
VSOXSEG5EI32V V24, V4, V0, (X10) // 276c458c
|
||||||
|
VSOXSEG5EI64V V24, V4, V0, (X10) // 277c458c
|
||||||
|
|
||||||
|
VSOXSEG6EI8V V24, V4, (X10) // 270c45ae
|
||||||
|
VSOXSEG6EI16V V24, V4, (X10) // 275c45ae
|
||||||
|
VSOXSEG6EI32V V24, V4, (X10) // 276c45ae
|
||||||
|
VSOXSEG6EI64V V24, V4, (X10) // 277c45ae
|
||||||
|
VSOXSEG6EI8V V24, V4, V0, (X10) // 270c45ac
|
||||||
|
VSOXSEG6EI16V V24, V4, V0, (X10) // 275c45ac
|
||||||
|
VSOXSEG6EI32V V24, V4, V0, (X10) // 276c45ac
|
||||||
|
VSOXSEG6EI64V V24, V4, V0, (X10) // 277c45ac
|
||||||
|
|
||||||
|
VSOXSEG7EI8V V24, V4, (X10) // 270c45ce
|
||||||
|
VSOXSEG7EI16V V24, V4, (X10) // 275c45ce
|
||||||
|
VSOXSEG7EI32V V24, V4, (X10) // 276c45ce
|
||||||
|
VSOXSEG7EI64V V24, V4, (X10) // 277c45ce
|
||||||
|
VSOXSEG7EI8V V24, V4, V0, (X10) // 270c45cc
|
||||||
|
VSOXSEG7EI16V V24, V4, V0, (X10) // 275c45cc
|
||||||
|
VSOXSEG7EI32V V24, V4, V0, (X10) // 276c45cc
|
||||||
|
VSOXSEG7EI64V V24, V4, V0, (X10) // 277c45cc
|
||||||
|
|
||||||
|
VSOXSEG8EI8V V24, V4, (X10) // 270c45ee
|
||||||
|
VSOXSEG8EI16V V24, V4, (X10) // 275c45ee
|
||||||
|
VSOXSEG8EI32V V24, V4, (X10) // 276c45ee
|
||||||
|
VSOXSEG8EI64V V24, V4, (X10) // 277c45ee
|
||||||
|
VSOXSEG8EI8V V24, V4, V0, (X10) // 270c45ec
|
||||||
|
VSOXSEG8EI16V V24, V4, V0, (X10) // 275c45ec
|
||||||
|
VSOXSEG8EI32V V24, V4, V0, (X10) // 276c45ec
|
||||||
|
VSOXSEG8EI64V V24, V4, V0, (X10) // 277c45ec
|
||||||
|
|
||||||
// 31.7.9: Vector Load/Store Whole Register Instructions
|
// 31.7.9: Vector Load/Store Whole Register Instructions
|
||||||
VL1RV (X10), V3 // 87018502
|
VL1RV (X10), V3 // 87018502
|
||||||
VL1RE8V (X10), V3 // 87018502
|
VL1RE8V (X10), V3 // 87018502
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,15 @@ TEXT errors(SB),$0
|
||||||
VSUXEI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
VSUXEI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
VLOXEI8V (X10), V2, V1, V3 // ERROR "invalid vector mask register"
|
VLOXEI8V (X10), V2, V1, V3 // ERROR "invalid vector mask register"
|
||||||
VSOXEI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
VSOXEI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
|
VLSEG2E8V (X10), V1, V3 // ERROR "invalid vector mask register"
|
||||||
|
VLSEG2E8FFV (X10), V1, V3 // ERROR "invalid vector mask register"
|
||||||
|
VSSEG2E8V V3, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
|
VLSSEG2E8V (X10), X10, V1, V3 // ERROR "invalid vector mask register"
|
||||||
|
VSSSEG2E8V V3, X11, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
|
VLUXSEG2EI8V (X10), V2, V1, V3 // ERROR "invalid vector mask register"
|
||||||
|
VSUXSEG2EI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
|
VLOXSEG2EI8V (X10), V2, V1, V3 // ERROR "invalid vector mask register"
|
||||||
|
VSOXSEG2EI8V V3, V2, V1, (X10) // ERROR "invalid vector mask register"
|
||||||
VL1RV (X10), V0, V3 // ERROR "too many operands for instruction"
|
VL1RV (X10), V0, V3 // ERROR "too many operands for instruction"
|
||||||
VS1RV V3, V0, (X11) // ERROR "too many operands for instruction"
|
VS1RV V3, V0, (X11) // ERROR "too many operands for instruction"
|
||||||
VADDVV V1, V2, V4, V3 // ERROR "invalid vector mask register"
|
VADDVV V1, V2, V4, V3 // ERROR "invalid vector mask register"
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,33 @@ TEXT validation(SB),$0
|
||||||
VSOXEI8V X10, V2, (X10) // ERROR "expected vector register in vd position"
|
VSOXEI8V X10, V2, (X10) // ERROR "expected vector register in vd position"
|
||||||
VSOXEI8V V3, V2, (V1) // ERROR "expected integer register in rs1 position"
|
VSOXEI8V V3, V2, (V1) // ERROR "expected integer register in rs1 position"
|
||||||
VSOXEI8V V3, X11, V0, (X10) // ERROR "expected vector register in vs2 position"
|
VSOXEI8V V3, X11, V0, (X10) // ERROR "expected vector register in vs2 position"
|
||||||
|
VLSEG2E8V (X10), X10 // ERROR "expected vector register in vd position"
|
||||||
|
VLSEG2E8V (V1), V3 // ERROR "expected integer register in rs1 position"
|
||||||
|
VLSEG2E8FFV (X10), X10 // ERROR "expected vector register in vd position"
|
||||||
|
VLSEG2E8FFV (V1), V3 // ERROR "expected integer register in rs1 position"
|
||||||
|
VSSEG2E8V X10, (X10) // ERROR "expected vector register in vs1 position"
|
||||||
|
VSSEG2E8V V3, (V1) // ERROR "expected integer register in rd position"
|
||||||
|
VLSSEG2E8V (X10), V3 // ERROR "expected integer register in rs2 position"
|
||||||
|
VLSSEG2E8V (X10), X10, X11 // ERROR "expected vector register in vd position"
|
||||||
|
VLSSEG2E8V (V1), X10, V3 // ERROR "expected integer register in rs1 position"
|
||||||
|
VLSSEG2E8V (X10), V1, V0, V3 // ERROR "expected integer register in rs2 position"
|
||||||
|
VSSSEG2E8V V3, (X10) // ERROR "expected integer register in rs2 position"
|
||||||
|
VSSSEG2E8V X10, X11, (X10) // ERROR "expected vector register in vd position"
|
||||||
|
VSSSEG2E8V V3, X11, (V1) // ERROR "expected integer register in rs1 position"
|
||||||
|
VSSSEG2E8V V3, V1, V0, (X10) // ERROR "expected integer register in rs2 position"
|
||||||
|
VLUXSEG2EI8V (X10), V2, X11 // ERROR "expected vector register in vd position"
|
||||||
|
VLUXSEG2EI8V (X10), V2, X11 // ERROR "expected vector register in vd position"
|
||||||
|
VLUXSEG2EI8V (V1), V2, V3 // ERROR "expected integer register in rs1 position"
|
||||||
|
VLUXSEG2EI8V (X10), X11, V0, V3 // ERROR "expected vector register in vs2 position"
|
||||||
|
VSUXSEG2EI8V X10, V2, (X10) // ERROR "expected vector register in vd position"
|
||||||
|
VSUXSEG2EI8V V3, V2, (V1) // ERROR "expected integer register in rs1 position"
|
||||||
|
VSUXSEG2EI8V V3, X11, V0, (X10) // ERROR "expected vector register in vs2 position"
|
||||||
|
VLOXSEG2EI8V (X10), V2, X11 // ERROR "expected vector register in vd position"
|
||||||
|
VLOXSEG2EI8V (V1), V2, V3 // ERROR "expected integer register in rs1 position"
|
||||||
|
VLOXSEG2EI8V (X10), X11, V0, V3 // ERROR "expected vector register in vs2 position"
|
||||||
|
VSOXSEG2EI8V X10, V2, (X10) // ERROR "expected vector register in vd position"
|
||||||
|
VSOXSEG2EI8V V3, V2, (V1) // ERROR "expected integer register in rs1 position"
|
||||||
|
VSOXSEG2EI8V V3, X11, V0, (X10) // ERROR "expected vector register in vs2 position"
|
||||||
VL1RV (X10), X10 // ERROR "expected vector register in vd position"
|
VL1RV (X10), X10 // ERROR "expected vector register in vd position"
|
||||||
VL1RV (V1), V3 // ERROR "expected integer register in rs1 position"
|
VL1RV (V1), V3 // ERROR "expected integer register in rs1 position"
|
||||||
VS1RV X11, (X11) // ERROR "expected vector register in vs1 position"
|
VS1RV X11, (X11) // ERROR "expected vector register in vs1 position"
|
||||||
|
|
|
||||||
|
|
@ -314,6 +314,258 @@ var Anames = []string{
|
||||||
"VLE16FFV",
|
"VLE16FFV",
|
||||||
"VLE32FFV",
|
"VLE32FFV",
|
||||||
"VLE64FFV",
|
"VLE64FFV",
|
||||||
|
"VLSEG2E8V",
|
||||||
|
"VLSEG3E8V",
|
||||||
|
"VLSEG4E8V",
|
||||||
|
"VLSEG5E8V",
|
||||||
|
"VLSEG6E8V",
|
||||||
|
"VLSEG7E8V",
|
||||||
|
"VLSEG8E8V",
|
||||||
|
"VLSEG2E16V",
|
||||||
|
"VLSEG3E16V",
|
||||||
|
"VLSEG4E16V",
|
||||||
|
"VLSEG5E16V",
|
||||||
|
"VLSEG6E16V",
|
||||||
|
"VLSEG7E16V",
|
||||||
|
"VLSEG8E16V",
|
||||||
|
"VLSEG2E32V",
|
||||||
|
"VLSEG3E32V",
|
||||||
|
"VLSEG4E32V",
|
||||||
|
"VLSEG5E32V",
|
||||||
|
"VLSEG6E32V",
|
||||||
|
"VLSEG7E32V",
|
||||||
|
"VLSEG8E32V",
|
||||||
|
"VLSEG2E64V",
|
||||||
|
"VLSEG3E64V",
|
||||||
|
"VLSEG4E64V",
|
||||||
|
"VLSEG5E64V",
|
||||||
|
"VLSEG6E64V",
|
||||||
|
"VLSEG7E64V",
|
||||||
|
"VLSEG8E64V",
|
||||||
|
"VSSEG2E8V",
|
||||||
|
"VSSEG3E8V",
|
||||||
|
"VSSEG4E8V",
|
||||||
|
"VSSEG5E8V",
|
||||||
|
"VSSEG6E8V",
|
||||||
|
"VSSEG7E8V",
|
||||||
|
"VSSEG8E8V",
|
||||||
|
"VSSEG2E16V",
|
||||||
|
"VSSEG3E16V",
|
||||||
|
"VSSEG4E16V",
|
||||||
|
"VSSEG5E16V",
|
||||||
|
"VSSEG6E16V",
|
||||||
|
"VSSEG7E16V",
|
||||||
|
"VSSEG8E16V",
|
||||||
|
"VSSEG2E32V",
|
||||||
|
"VSSEG3E32V",
|
||||||
|
"VSSEG4E32V",
|
||||||
|
"VSSEG5E32V",
|
||||||
|
"VSSEG6E32V",
|
||||||
|
"VSSEG7E32V",
|
||||||
|
"VSSEG8E32V",
|
||||||
|
"VSSEG2E64V",
|
||||||
|
"VSSEG3E64V",
|
||||||
|
"VSSEG4E64V",
|
||||||
|
"VSSEG5E64V",
|
||||||
|
"VSSEG6E64V",
|
||||||
|
"VSSEG7E64V",
|
||||||
|
"VSSEG8E64V",
|
||||||
|
"VLSEG2E8FFV",
|
||||||
|
"VLSEG3E8FFV",
|
||||||
|
"VLSEG4E8FFV",
|
||||||
|
"VLSEG5E8FFV",
|
||||||
|
"VLSEG6E8FFV",
|
||||||
|
"VLSEG7E8FFV",
|
||||||
|
"VLSEG8E8FFV",
|
||||||
|
"VLSEG2E16FFV",
|
||||||
|
"VLSEG3E16FFV",
|
||||||
|
"VLSEG4E16FFV",
|
||||||
|
"VLSEG5E16FFV",
|
||||||
|
"VLSEG6E16FFV",
|
||||||
|
"VLSEG7E16FFV",
|
||||||
|
"VLSEG8E16FFV",
|
||||||
|
"VLSEG2E32FFV",
|
||||||
|
"VLSEG3E32FFV",
|
||||||
|
"VLSEG4E32FFV",
|
||||||
|
"VLSEG5E32FFV",
|
||||||
|
"VLSEG6E32FFV",
|
||||||
|
"VLSEG7E32FFV",
|
||||||
|
"VLSEG8E32FFV",
|
||||||
|
"VLSEG2E64FFV",
|
||||||
|
"VLSEG3E64FFV",
|
||||||
|
"VLSEG4E64FFV",
|
||||||
|
"VLSEG5E64FFV",
|
||||||
|
"VLSEG6E64FFV",
|
||||||
|
"VLSEG7E64FFV",
|
||||||
|
"VLSEG8E64FFV",
|
||||||
|
"VLSSEG2E8V",
|
||||||
|
"VLSSEG3E8V",
|
||||||
|
"VLSSEG4E8V",
|
||||||
|
"VLSSEG5E8V",
|
||||||
|
"VLSSEG6E8V",
|
||||||
|
"VLSSEG7E8V",
|
||||||
|
"VLSSEG8E8V",
|
||||||
|
"VLSSEG2E16V",
|
||||||
|
"VLSSEG3E16V",
|
||||||
|
"VLSSEG4E16V",
|
||||||
|
"VLSSEG5E16V",
|
||||||
|
"VLSSEG6E16V",
|
||||||
|
"VLSSEG7E16V",
|
||||||
|
"VLSSEG8E16V",
|
||||||
|
"VLSSEG2E32V",
|
||||||
|
"VLSSEG3E32V",
|
||||||
|
"VLSSEG4E32V",
|
||||||
|
"VLSSEG5E32V",
|
||||||
|
"VLSSEG6E32V",
|
||||||
|
"VLSSEG7E32V",
|
||||||
|
"VLSSEG8E32V",
|
||||||
|
"VLSSEG2E64V",
|
||||||
|
"VLSSEG3E64V",
|
||||||
|
"VLSSEG4E64V",
|
||||||
|
"VLSSEG5E64V",
|
||||||
|
"VLSSEG6E64V",
|
||||||
|
"VLSSEG7E64V",
|
||||||
|
"VLSSEG8E64V",
|
||||||
|
"VSSSEG2E8V",
|
||||||
|
"VSSSEG3E8V",
|
||||||
|
"VSSSEG4E8V",
|
||||||
|
"VSSSEG5E8V",
|
||||||
|
"VSSSEG6E8V",
|
||||||
|
"VSSSEG7E8V",
|
||||||
|
"VSSSEG8E8V",
|
||||||
|
"VSSSEG2E16V",
|
||||||
|
"VSSSEG3E16V",
|
||||||
|
"VSSSEG4E16V",
|
||||||
|
"VSSSEG5E16V",
|
||||||
|
"VSSSEG6E16V",
|
||||||
|
"VSSSEG7E16V",
|
||||||
|
"VSSSEG8E16V",
|
||||||
|
"VSSSEG2E32V",
|
||||||
|
"VSSSEG3E32V",
|
||||||
|
"VSSSEG4E32V",
|
||||||
|
"VSSSEG5E32V",
|
||||||
|
"VSSSEG6E32V",
|
||||||
|
"VSSSEG7E32V",
|
||||||
|
"VSSSEG8E32V",
|
||||||
|
"VSSSEG2E64V",
|
||||||
|
"VSSSEG3E64V",
|
||||||
|
"VSSSEG4E64V",
|
||||||
|
"VSSSEG5E64V",
|
||||||
|
"VSSSEG6E64V",
|
||||||
|
"VSSSEG7E64V",
|
||||||
|
"VSSSEG8E64V",
|
||||||
|
"VLOXSEG2EI8V",
|
||||||
|
"VLOXSEG3EI8V",
|
||||||
|
"VLOXSEG4EI8V",
|
||||||
|
"VLOXSEG5EI8V",
|
||||||
|
"VLOXSEG6EI8V",
|
||||||
|
"VLOXSEG7EI8V",
|
||||||
|
"VLOXSEG8EI8V",
|
||||||
|
"VLOXSEG2EI16V",
|
||||||
|
"VLOXSEG3EI16V",
|
||||||
|
"VLOXSEG4EI16V",
|
||||||
|
"VLOXSEG5EI16V",
|
||||||
|
"VLOXSEG6EI16V",
|
||||||
|
"VLOXSEG7EI16V",
|
||||||
|
"VLOXSEG8EI16V",
|
||||||
|
"VLOXSEG2EI32V",
|
||||||
|
"VLOXSEG3EI32V",
|
||||||
|
"VLOXSEG4EI32V",
|
||||||
|
"VLOXSEG5EI32V",
|
||||||
|
"VLOXSEG6EI32V",
|
||||||
|
"VLOXSEG7EI32V",
|
||||||
|
"VLOXSEG8EI32V",
|
||||||
|
"VLOXSEG2EI64V",
|
||||||
|
"VLOXSEG3EI64V",
|
||||||
|
"VLOXSEG4EI64V",
|
||||||
|
"VLOXSEG5EI64V",
|
||||||
|
"VLOXSEG6EI64V",
|
||||||
|
"VLOXSEG7EI64V",
|
||||||
|
"VLOXSEG8EI64V",
|
||||||
|
"VSOXSEG2EI8V",
|
||||||
|
"VSOXSEG3EI8V",
|
||||||
|
"VSOXSEG4EI8V",
|
||||||
|
"VSOXSEG5EI8V",
|
||||||
|
"VSOXSEG6EI8V",
|
||||||
|
"VSOXSEG7EI8V",
|
||||||
|
"VSOXSEG8EI8V",
|
||||||
|
"VSOXSEG2EI16V",
|
||||||
|
"VSOXSEG3EI16V",
|
||||||
|
"VSOXSEG4EI16V",
|
||||||
|
"VSOXSEG5EI16V",
|
||||||
|
"VSOXSEG6EI16V",
|
||||||
|
"VSOXSEG7EI16V",
|
||||||
|
"VSOXSEG8EI16V",
|
||||||
|
"VSOXSEG2EI32V",
|
||||||
|
"VSOXSEG3EI32V",
|
||||||
|
"VSOXSEG4EI32V",
|
||||||
|
"VSOXSEG5EI32V",
|
||||||
|
"VSOXSEG6EI32V",
|
||||||
|
"VSOXSEG7EI32V",
|
||||||
|
"VSOXSEG8EI32V",
|
||||||
|
"VSOXSEG2EI64V",
|
||||||
|
"VSOXSEG3EI64V",
|
||||||
|
"VSOXSEG4EI64V",
|
||||||
|
"VSOXSEG5EI64V",
|
||||||
|
"VSOXSEG6EI64V",
|
||||||
|
"VSOXSEG7EI64V",
|
||||||
|
"VSOXSEG8EI64V",
|
||||||
|
"VLUXSEG2EI8V",
|
||||||
|
"VLUXSEG3EI8V",
|
||||||
|
"VLUXSEG4EI8V",
|
||||||
|
"VLUXSEG5EI8V",
|
||||||
|
"VLUXSEG6EI8V",
|
||||||
|
"VLUXSEG7EI8V",
|
||||||
|
"VLUXSEG8EI8V",
|
||||||
|
"VLUXSEG2EI16V",
|
||||||
|
"VLUXSEG3EI16V",
|
||||||
|
"VLUXSEG4EI16V",
|
||||||
|
"VLUXSEG5EI16V",
|
||||||
|
"VLUXSEG6EI16V",
|
||||||
|
"VLUXSEG7EI16V",
|
||||||
|
"VLUXSEG8EI16V",
|
||||||
|
"VLUXSEG2EI32V",
|
||||||
|
"VLUXSEG3EI32V",
|
||||||
|
"VLUXSEG4EI32V",
|
||||||
|
"VLUXSEG5EI32V",
|
||||||
|
"VLUXSEG6EI32V",
|
||||||
|
"VLUXSEG7EI32V",
|
||||||
|
"VLUXSEG8EI32V",
|
||||||
|
"VLUXSEG2EI64V",
|
||||||
|
"VLUXSEG3EI64V",
|
||||||
|
"VLUXSEG4EI64V",
|
||||||
|
"VLUXSEG5EI64V",
|
||||||
|
"VLUXSEG6EI64V",
|
||||||
|
"VLUXSEG7EI64V",
|
||||||
|
"VLUXSEG8EI64V",
|
||||||
|
"VSUXSEG2EI8V",
|
||||||
|
"VSUXSEG3EI8V",
|
||||||
|
"VSUXSEG4EI8V",
|
||||||
|
"VSUXSEG5EI8V",
|
||||||
|
"VSUXSEG6EI8V",
|
||||||
|
"VSUXSEG7EI8V",
|
||||||
|
"VSUXSEG8EI8V",
|
||||||
|
"VSUXSEG2EI16V",
|
||||||
|
"VSUXSEG3EI16V",
|
||||||
|
"VSUXSEG4EI16V",
|
||||||
|
"VSUXSEG5EI16V",
|
||||||
|
"VSUXSEG6EI16V",
|
||||||
|
"VSUXSEG7EI16V",
|
||||||
|
"VSUXSEG8EI16V",
|
||||||
|
"VSUXSEG2EI32V",
|
||||||
|
"VSUXSEG3EI32V",
|
||||||
|
"VSUXSEG4EI32V",
|
||||||
|
"VSUXSEG5EI32V",
|
||||||
|
"VSUXSEG6EI32V",
|
||||||
|
"VSUXSEG7EI32V",
|
||||||
|
"VSUXSEG8EI32V",
|
||||||
|
"VSUXSEG2EI64V",
|
||||||
|
"VSUXSEG3EI64V",
|
||||||
|
"VSUXSEG4EI64V",
|
||||||
|
"VSUXSEG5EI64V",
|
||||||
|
"VSUXSEG6EI64V",
|
||||||
|
"VSUXSEG7EI64V",
|
||||||
|
"VSUXSEG8EI64V",
|
||||||
"VL1RE8V",
|
"VL1RE8V",
|
||||||
"VL1RE16V",
|
"VL1RE16V",
|
||||||
"VL1RE32V",
|
"VL1RE32V",
|
||||||
|
|
|
||||||
|
|
@ -744,6 +744,272 @@ const (
|
||||||
AVLE32FFV
|
AVLE32FFV
|
||||||
AVLE64FFV
|
AVLE64FFV
|
||||||
|
|
||||||
|
// 31.7.8. Vector Load/Store Segment Instructions
|
||||||
|
|
||||||
|
// 31.7.8.1. Vector Unit-Stride Segment Loads and Stores
|
||||||
|
AVLSEG2E8V
|
||||||
|
AVLSEG3E8V
|
||||||
|
AVLSEG4E8V
|
||||||
|
AVLSEG5E8V
|
||||||
|
AVLSEG6E8V
|
||||||
|
AVLSEG7E8V
|
||||||
|
AVLSEG8E8V
|
||||||
|
AVLSEG2E16V
|
||||||
|
AVLSEG3E16V
|
||||||
|
AVLSEG4E16V
|
||||||
|
AVLSEG5E16V
|
||||||
|
AVLSEG6E16V
|
||||||
|
AVLSEG7E16V
|
||||||
|
AVLSEG8E16V
|
||||||
|
AVLSEG2E32V
|
||||||
|
AVLSEG3E32V
|
||||||
|
AVLSEG4E32V
|
||||||
|
AVLSEG5E32V
|
||||||
|
AVLSEG6E32V
|
||||||
|
AVLSEG7E32V
|
||||||
|
AVLSEG8E32V
|
||||||
|
AVLSEG2E64V
|
||||||
|
AVLSEG3E64V
|
||||||
|
AVLSEG4E64V
|
||||||
|
AVLSEG5E64V
|
||||||
|
AVLSEG6E64V
|
||||||
|
AVLSEG7E64V
|
||||||
|
AVLSEG8E64V
|
||||||
|
|
||||||
|
AVSSEG2E8V
|
||||||
|
AVSSEG3E8V
|
||||||
|
AVSSEG4E8V
|
||||||
|
AVSSEG5E8V
|
||||||
|
AVSSEG6E8V
|
||||||
|
AVSSEG7E8V
|
||||||
|
AVSSEG8E8V
|
||||||
|
AVSSEG2E16V
|
||||||
|
AVSSEG3E16V
|
||||||
|
AVSSEG4E16V
|
||||||
|
AVSSEG5E16V
|
||||||
|
AVSSEG6E16V
|
||||||
|
AVSSEG7E16V
|
||||||
|
AVSSEG8E16V
|
||||||
|
AVSSEG2E32V
|
||||||
|
AVSSEG3E32V
|
||||||
|
AVSSEG4E32V
|
||||||
|
AVSSEG5E32V
|
||||||
|
AVSSEG6E32V
|
||||||
|
AVSSEG7E32V
|
||||||
|
AVSSEG8E32V
|
||||||
|
AVSSEG2E64V
|
||||||
|
AVSSEG3E64V
|
||||||
|
AVSSEG4E64V
|
||||||
|
AVSSEG5E64V
|
||||||
|
AVSSEG6E64V
|
||||||
|
AVSSEG7E64V
|
||||||
|
AVSSEG8E64V
|
||||||
|
|
||||||
|
AVLSEG2E8FFV
|
||||||
|
AVLSEG3E8FFV
|
||||||
|
AVLSEG4E8FFV
|
||||||
|
AVLSEG5E8FFV
|
||||||
|
AVLSEG6E8FFV
|
||||||
|
AVLSEG7E8FFV
|
||||||
|
AVLSEG8E8FFV
|
||||||
|
AVLSEG2E16FFV
|
||||||
|
AVLSEG3E16FFV
|
||||||
|
AVLSEG4E16FFV
|
||||||
|
AVLSEG5E16FFV
|
||||||
|
AVLSEG6E16FFV
|
||||||
|
AVLSEG7E16FFV
|
||||||
|
AVLSEG8E16FFV
|
||||||
|
AVLSEG2E32FFV
|
||||||
|
AVLSEG3E32FFV
|
||||||
|
AVLSEG4E32FFV
|
||||||
|
AVLSEG5E32FFV
|
||||||
|
AVLSEG6E32FFV
|
||||||
|
AVLSEG7E32FFV
|
||||||
|
AVLSEG8E32FFV
|
||||||
|
AVLSEG2E64FFV
|
||||||
|
AVLSEG3E64FFV
|
||||||
|
AVLSEG4E64FFV
|
||||||
|
AVLSEG5E64FFV
|
||||||
|
AVLSEG6E64FFV
|
||||||
|
AVLSEG7E64FFV
|
||||||
|
AVLSEG8E64FFV
|
||||||
|
|
||||||
|
// 31.7.8.2. Vector Strided Segment Loads and Stores
|
||||||
|
AVLSSEG2E8V
|
||||||
|
AVLSSEG3E8V
|
||||||
|
AVLSSEG4E8V
|
||||||
|
AVLSSEG5E8V
|
||||||
|
AVLSSEG6E8V
|
||||||
|
AVLSSEG7E8V
|
||||||
|
AVLSSEG8E8V
|
||||||
|
AVLSSEG2E16V
|
||||||
|
AVLSSEG3E16V
|
||||||
|
AVLSSEG4E16V
|
||||||
|
AVLSSEG5E16V
|
||||||
|
AVLSSEG6E16V
|
||||||
|
AVLSSEG7E16V
|
||||||
|
AVLSSEG8E16V
|
||||||
|
AVLSSEG2E32V
|
||||||
|
AVLSSEG3E32V
|
||||||
|
AVLSSEG4E32V
|
||||||
|
AVLSSEG5E32V
|
||||||
|
AVLSSEG6E32V
|
||||||
|
AVLSSEG7E32V
|
||||||
|
AVLSSEG8E32V
|
||||||
|
AVLSSEG2E64V
|
||||||
|
AVLSSEG3E64V
|
||||||
|
AVLSSEG4E64V
|
||||||
|
AVLSSEG5E64V
|
||||||
|
AVLSSEG6E64V
|
||||||
|
AVLSSEG7E64V
|
||||||
|
AVLSSEG8E64V
|
||||||
|
|
||||||
|
AVSSSEG2E8V
|
||||||
|
AVSSSEG3E8V
|
||||||
|
AVSSSEG4E8V
|
||||||
|
AVSSSEG5E8V
|
||||||
|
AVSSSEG6E8V
|
||||||
|
AVSSSEG7E8V
|
||||||
|
AVSSSEG8E8V
|
||||||
|
AVSSSEG2E16V
|
||||||
|
AVSSSEG3E16V
|
||||||
|
AVSSSEG4E16V
|
||||||
|
AVSSSEG5E16V
|
||||||
|
AVSSSEG6E16V
|
||||||
|
AVSSSEG7E16V
|
||||||
|
AVSSSEG8E16V
|
||||||
|
AVSSSEG2E32V
|
||||||
|
AVSSSEG3E32V
|
||||||
|
AVSSSEG4E32V
|
||||||
|
AVSSSEG5E32V
|
||||||
|
AVSSSEG6E32V
|
||||||
|
AVSSSEG7E32V
|
||||||
|
AVSSSEG8E32V
|
||||||
|
AVSSSEG2E64V
|
||||||
|
AVSSSEG3E64V
|
||||||
|
AVSSSEG4E64V
|
||||||
|
AVSSSEG5E64V
|
||||||
|
AVSSSEG6E64V
|
||||||
|
AVSSSEG7E64V
|
||||||
|
AVSSSEG8E64V
|
||||||
|
|
||||||
|
// 31.7.8.3. Vector Indexed Segment Loads and Stores
|
||||||
|
AVLOXSEG2EI8V
|
||||||
|
AVLOXSEG3EI8V
|
||||||
|
AVLOXSEG4EI8V
|
||||||
|
AVLOXSEG5EI8V
|
||||||
|
AVLOXSEG6EI8V
|
||||||
|
AVLOXSEG7EI8V
|
||||||
|
AVLOXSEG8EI8V
|
||||||
|
AVLOXSEG2EI16V
|
||||||
|
AVLOXSEG3EI16V
|
||||||
|
AVLOXSEG4EI16V
|
||||||
|
AVLOXSEG5EI16V
|
||||||
|
AVLOXSEG6EI16V
|
||||||
|
AVLOXSEG7EI16V
|
||||||
|
AVLOXSEG8EI16V
|
||||||
|
AVLOXSEG2EI32V
|
||||||
|
AVLOXSEG3EI32V
|
||||||
|
AVLOXSEG4EI32V
|
||||||
|
AVLOXSEG5EI32V
|
||||||
|
AVLOXSEG6EI32V
|
||||||
|
AVLOXSEG7EI32V
|
||||||
|
AVLOXSEG8EI32V
|
||||||
|
AVLOXSEG2EI64V
|
||||||
|
AVLOXSEG3EI64V
|
||||||
|
AVLOXSEG4EI64V
|
||||||
|
AVLOXSEG5EI64V
|
||||||
|
AVLOXSEG6EI64V
|
||||||
|
AVLOXSEG7EI64V
|
||||||
|
AVLOXSEG8EI64V
|
||||||
|
|
||||||
|
AVSOXSEG2EI8V
|
||||||
|
AVSOXSEG3EI8V
|
||||||
|
AVSOXSEG4EI8V
|
||||||
|
AVSOXSEG5EI8V
|
||||||
|
AVSOXSEG6EI8V
|
||||||
|
AVSOXSEG7EI8V
|
||||||
|
AVSOXSEG8EI8V
|
||||||
|
AVSOXSEG2EI16V
|
||||||
|
AVSOXSEG3EI16V
|
||||||
|
AVSOXSEG4EI16V
|
||||||
|
AVSOXSEG5EI16V
|
||||||
|
AVSOXSEG6EI16V
|
||||||
|
AVSOXSEG7EI16V
|
||||||
|
AVSOXSEG8EI16V
|
||||||
|
AVSOXSEG2EI32V
|
||||||
|
AVSOXSEG3EI32V
|
||||||
|
AVSOXSEG4EI32V
|
||||||
|
AVSOXSEG5EI32V
|
||||||
|
AVSOXSEG6EI32V
|
||||||
|
AVSOXSEG7EI32V
|
||||||
|
AVSOXSEG8EI32V
|
||||||
|
AVSOXSEG2EI64V
|
||||||
|
AVSOXSEG3EI64V
|
||||||
|
AVSOXSEG4EI64V
|
||||||
|
AVSOXSEG5EI64V
|
||||||
|
AVSOXSEG6EI64V
|
||||||
|
AVSOXSEG7EI64V
|
||||||
|
AVSOXSEG8EI64V
|
||||||
|
|
||||||
|
AVLUXSEG2EI8V
|
||||||
|
AVLUXSEG3EI8V
|
||||||
|
AVLUXSEG4EI8V
|
||||||
|
AVLUXSEG5EI8V
|
||||||
|
AVLUXSEG6EI8V
|
||||||
|
AVLUXSEG7EI8V
|
||||||
|
AVLUXSEG8EI8V
|
||||||
|
AVLUXSEG2EI16V
|
||||||
|
AVLUXSEG3EI16V
|
||||||
|
AVLUXSEG4EI16V
|
||||||
|
AVLUXSEG5EI16V
|
||||||
|
AVLUXSEG6EI16V
|
||||||
|
AVLUXSEG7EI16V
|
||||||
|
AVLUXSEG8EI16V
|
||||||
|
AVLUXSEG2EI32V
|
||||||
|
AVLUXSEG3EI32V
|
||||||
|
AVLUXSEG4EI32V
|
||||||
|
AVLUXSEG5EI32V
|
||||||
|
AVLUXSEG6EI32V
|
||||||
|
AVLUXSEG7EI32V
|
||||||
|
AVLUXSEG8EI32V
|
||||||
|
AVLUXSEG2EI64V
|
||||||
|
AVLUXSEG3EI64V
|
||||||
|
AVLUXSEG4EI64V
|
||||||
|
AVLUXSEG5EI64V
|
||||||
|
AVLUXSEG6EI64V
|
||||||
|
AVLUXSEG7EI64V
|
||||||
|
AVLUXSEG8EI64V
|
||||||
|
|
||||||
|
AVSUXSEG2EI8V
|
||||||
|
AVSUXSEG3EI8V
|
||||||
|
AVSUXSEG4EI8V
|
||||||
|
AVSUXSEG5EI8V
|
||||||
|
AVSUXSEG6EI8V
|
||||||
|
AVSUXSEG7EI8V
|
||||||
|
AVSUXSEG8EI8V
|
||||||
|
AVSUXSEG2EI16V
|
||||||
|
AVSUXSEG3EI16V
|
||||||
|
AVSUXSEG4EI16V
|
||||||
|
AVSUXSEG5EI16V
|
||||||
|
AVSUXSEG6EI16V
|
||||||
|
AVSUXSEG7EI16V
|
||||||
|
AVSUXSEG8EI16V
|
||||||
|
AVSUXSEG2EI32V
|
||||||
|
AVSUXSEG3EI32V
|
||||||
|
AVSUXSEG4EI32V
|
||||||
|
AVSUXSEG5EI32V
|
||||||
|
AVSUXSEG6EI32V
|
||||||
|
AVSUXSEG7EI32V
|
||||||
|
AVSUXSEG8EI32V
|
||||||
|
AVSUXSEG2EI64V
|
||||||
|
AVSUXSEG3EI64V
|
||||||
|
AVSUXSEG4EI64V
|
||||||
|
AVSUXSEG5EI64V
|
||||||
|
AVSUXSEG6EI64V
|
||||||
|
AVSUXSEG7EI64V
|
||||||
|
AVSUXSEG8EI64V
|
||||||
|
|
||||||
// 31.7.9: Vector Load/Store Whole Register Instructions
|
// 31.7.9: Vector Load/Store Whole Register Instructions
|
||||||
AVL1RE8V
|
AVL1RE8V
|
||||||
AVL1RE16V
|
AVL1RE16V
|
||||||
|
|
|
||||||
|
|
@ -808,46 +808,326 @@ func encode(a obj.As) *inst {
|
||||||
return &inst{0x7, 0x0, 0x0, 0x8, -472, 0x71}
|
return &inst{0x7, 0x0, 0x0, 0x8, -472, 0x71}
|
||||||
case AVLE16V:
|
case AVLE16V:
|
||||||
return &inst{0x7, 0x5, 0x0, 0x0, 0, 0x0}
|
return &inst{0x7, 0x5, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVLSEG2E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVLSEG3E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVLSEG4E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVLSEG5E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVLSEG6E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVLSEG7E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVLSEG8E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -512, 0x70}
|
||||||
case AVLE16FFV:
|
case AVLE16FFV:
|
||||||
return &inst{0x7, 0x5, 0x0, 0x10, 16, 0x0}
|
return &inst{0x7, 0x5, 0x0, 0x10, 16, 0x0}
|
||||||
|
case AVLSEG2E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, 528, 0x10}
|
||||||
|
case AVLSEG3E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, 1040, 0x20}
|
||||||
|
case AVLSEG4E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, 1552, 0x30}
|
||||||
|
case AVLSEG5E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, -2032, 0x40}
|
||||||
|
case AVLSEG6E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, -1520, 0x50}
|
||||||
|
case AVLSEG7E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, -1008, 0x60}
|
||||||
|
case AVLSEG8E16FFV:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x10, -496, 0x70}
|
||||||
case AVLE32V:
|
case AVLE32V:
|
||||||
return &inst{0x7, 0x6, 0x0, 0x0, 0, 0x0}
|
return &inst{0x7, 0x6, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVLSEG2E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVLSEG3E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVLSEG4E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVLSEG5E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVLSEG6E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVLSEG7E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVLSEG8E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -512, 0x70}
|
||||||
case AVLE32FFV:
|
case AVLE32FFV:
|
||||||
return &inst{0x7, 0x6, 0x0, 0x10, 16, 0x0}
|
return &inst{0x7, 0x6, 0x0, 0x10, 16, 0x0}
|
||||||
|
case AVLSEG2E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, 528, 0x10}
|
||||||
|
case AVLSEG3E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, 1040, 0x20}
|
||||||
|
case AVLSEG4E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, 1552, 0x30}
|
||||||
|
case AVLSEG5E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, -2032, 0x40}
|
||||||
|
case AVLSEG6E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, -1520, 0x50}
|
||||||
|
case AVLSEG7E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, -1008, 0x60}
|
||||||
|
case AVLSEG8E32FFV:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x10, -496, 0x70}
|
||||||
case AVLE64V:
|
case AVLE64V:
|
||||||
return &inst{0x7, 0x7, 0x0, 0x0, 0, 0x0}
|
return &inst{0x7, 0x7, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVLSEG2E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVLSEG3E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVLSEG4E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVLSEG5E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVLSEG6E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVLSEG7E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVLSEG8E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -512, 0x70}
|
||||||
case AVLE64FFV:
|
case AVLE64FFV:
|
||||||
return &inst{0x7, 0x7, 0x0, 0x10, 16, 0x0}
|
return &inst{0x7, 0x7, 0x0, 0x10, 16, 0x0}
|
||||||
|
case AVLSEG2E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, 528, 0x10}
|
||||||
|
case AVLSEG3E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, 1040, 0x20}
|
||||||
|
case AVLSEG4E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, 1552, 0x30}
|
||||||
|
case AVLSEG5E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, -2032, 0x40}
|
||||||
|
case AVLSEG6E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, -1520, 0x50}
|
||||||
|
case AVLSEG7E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, -1008, 0x60}
|
||||||
|
case AVLSEG8E64FFV:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x10, -496, 0x70}
|
||||||
case AVLE8V:
|
case AVLE8V:
|
||||||
return &inst{0x7, 0x0, 0x0, 0x0, 0, 0x0}
|
return &inst{0x7, 0x0, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVLSEG2E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVLSEG3E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVLSEG4E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVLSEG5E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVLSEG6E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVLSEG7E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVLSEG8E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -512, 0x70}
|
||||||
case AVLE8FFV:
|
case AVLE8FFV:
|
||||||
return &inst{0x7, 0x0, 0x0, 0x10, 16, 0x0}
|
return &inst{0x7, 0x0, 0x0, 0x10, 16, 0x0}
|
||||||
|
case AVLSEG2E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, 528, 0x10}
|
||||||
|
case AVLSEG3E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, 1040, 0x20}
|
||||||
|
case AVLSEG4E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, 1552, 0x30}
|
||||||
|
case AVLSEG5E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, -2032, 0x40}
|
||||||
|
case AVLSEG6E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, -1520, 0x50}
|
||||||
|
case AVLSEG7E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, -1008, 0x60}
|
||||||
|
case AVLSEG8E8FFV:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x10, -496, 0x70}
|
||||||
case AVLMV:
|
case AVLMV:
|
||||||
return &inst{0x7, 0x0, 0x0, 0xb, 43, 0x1}
|
return &inst{0x7, 0x0, 0x0, 0xb, 43, 0x1}
|
||||||
case AVLOXEI16V:
|
case AVLOXEI16V:
|
||||||
return &inst{0x7, 0x5, 0x0, 0x0, 192, 0x6}
|
return &inst{0x7, 0x5, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVLOXSEG2EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVLOXSEG3EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVLOXSEG4EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVLOXSEG5EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVLOXSEG6EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVLOXSEG7EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVLOXSEG8EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -320, 0x76}
|
||||||
case AVLOXEI32V:
|
case AVLOXEI32V:
|
||||||
return &inst{0x7, 0x6, 0x0, 0x0, 192, 0x6}
|
return &inst{0x7, 0x6, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVLOXSEG2EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVLOXSEG3EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVLOXSEG4EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVLOXSEG5EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVLOXSEG6EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVLOXSEG7EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVLOXSEG8EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -320, 0x76}
|
||||||
case AVLOXEI64V:
|
case AVLOXEI64V:
|
||||||
return &inst{0x7, 0x7, 0x0, 0x0, 192, 0x6}
|
return &inst{0x7, 0x7, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVLOXSEG2EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVLOXSEG3EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVLOXSEG4EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVLOXSEG5EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVLOXSEG6EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVLOXSEG7EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVLOXSEG8EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -320, 0x76}
|
||||||
case AVLOXEI8V:
|
case AVLOXEI8V:
|
||||||
return &inst{0x7, 0x0, 0x0, 0x0, 192, 0x6}
|
return &inst{0x7, 0x0, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVLOXSEG2EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVLOXSEG3EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVLOXSEG4EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVLOXSEG5EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVLOXSEG6EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVLOXSEG7EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVLOXSEG8EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -320, 0x76}
|
||||||
case AVLSE16V:
|
case AVLSE16V:
|
||||||
return &inst{0x7, 0x5, 0x0, 0x0, 128, 0x4}
|
return &inst{0x7, 0x5, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVLSSEG2E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVLSSEG3E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVLSSEG4E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVLSSEG5E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVLSSEG6E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVLSSEG7E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVLSSEG8E16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -384, 0x74}
|
||||||
case AVLSE32V:
|
case AVLSE32V:
|
||||||
return &inst{0x7, 0x6, 0x0, 0x0, 128, 0x4}
|
return &inst{0x7, 0x6, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVLSSEG2E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVLSSEG3E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVLSSEG4E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVLSSEG5E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVLSSEG6E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVLSSEG7E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVLSSEG8E32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -384, 0x74}
|
||||||
case AVLSE64V:
|
case AVLSE64V:
|
||||||
return &inst{0x7, 0x7, 0x0, 0x0, 128, 0x4}
|
return &inst{0x7, 0x7, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVLSSEG2E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVLSSEG3E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVLSSEG4E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVLSSEG5E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVLSSEG6E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVLSSEG7E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVLSSEG8E64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -384, 0x74}
|
||||||
case AVLSE8V:
|
case AVLSE8V:
|
||||||
return &inst{0x7, 0x0, 0x0, 0x0, 128, 0x4}
|
return &inst{0x7, 0x0, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVLSSEG2E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVLSSEG3E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVLSSEG4E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVLSSEG5E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVLSSEG6E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVLSSEG7E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVLSSEG8E8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -384, 0x74}
|
||||||
case AVLUXEI16V:
|
case AVLUXEI16V:
|
||||||
return &inst{0x7, 0x5, 0x0, 0x0, 64, 0x2}
|
return &inst{0x7, 0x5, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVLUXSEG2EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVLUXSEG3EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVLUXSEG4EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVLUXSEG5EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVLUXSEG6EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVLUXSEG7EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVLUXSEG8EI16V:
|
||||||
|
return &inst{0x7, 0x5, 0x0, 0x0, -448, 0x72}
|
||||||
case AVLUXEI32V:
|
case AVLUXEI32V:
|
||||||
return &inst{0x7, 0x6, 0x0, 0x0, 64, 0x2}
|
return &inst{0x7, 0x6, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVLUXSEG2EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVLUXSEG3EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVLUXSEG4EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVLUXSEG5EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVLUXSEG6EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVLUXSEG7EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVLUXSEG8EI32V:
|
||||||
|
return &inst{0x7, 0x6, 0x0, 0x0, -448, 0x72}
|
||||||
case AVLUXEI64V:
|
case AVLUXEI64V:
|
||||||
return &inst{0x7, 0x7, 0x0, 0x0, 64, 0x2}
|
return &inst{0x7, 0x7, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVLUXSEG2EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVLUXSEG3EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVLUXSEG4EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVLUXSEG5EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVLUXSEG6EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVLUXSEG7EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVLUXSEG8EI64V:
|
||||||
|
return &inst{0x7, 0x7, 0x0, 0x0, -448, 0x72}
|
||||||
case AVLUXEI8V:
|
case AVLUXEI8V:
|
||||||
return &inst{0x7, 0x0, 0x0, 0x0, 64, 0x2}
|
return &inst{0x7, 0x0, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVLUXSEG2EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVLUXSEG3EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVLUXSEG4EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVLUXSEG5EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVLUXSEG6EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVLUXSEG7EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVLUXSEG8EI8V:
|
||||||
|
return &inst{0x7, 0x0, 0x0, 0x0, -448, 0x72}
|
||||||
case AVMACCVV:
|
case AVMACCVV:
|
||||||
return &inst{0x57, 0x2, 0x0, 0x0, -1216, 0x5a}
|
return &inst{0x57, 0x2, 0x0, 0x0, -1216, 0x5a}
|
||||||
case AVMACCVX:
|
case AVMACCVX:
|
||||||
|
|
@ -1114,12 +1394,68 @@ func encode(a obj.As) *inst {
|
||||||
return &inst{0x57, 0x4, 0x0, 0x0, 1152, 0x24}
|
return &inst{0x57, 0x4, 0x0, 0x0, 1152, 0x24}
|
||||||
case AVSE16V:
|
case AVSE16V:
|
||||||
return &inst{0x27, 0x5, 0x0, 0x0, 0, 0x0}
|
return &inst{0x27, 0x5, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVSSEG2E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVSSEG3E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVSSEG4E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVSSEG5E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVSSEG6E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVSSEG7E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVSSEG8E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -512, 0x70}
|
||||||
case AVSE32V:
|
case AVSE32V:
|
||||||
return &inst{0x27, 0x6, 0x0, 0x0, 0, 0x0}
|
return &inst{0x27, 0x6, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVSSEG2E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVSSEG3E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVSSEG4E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVSSEG5E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVSSEG6E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVSSEG7E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVSSEG8E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -512, 0x70}
|
||||||
case AVSE64V:
|
case AVSE64V:
|
||||||
return &inst{0x27, 0x7, 0x0, 0x0, 0, 0x0}
|
return &inst{0x27, 0x7, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVSSEG2E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVSSEG3E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVSSEG4E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVSSEG5E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVSSEG6E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVSSEG7E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVSSEG8E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -512, 0x70}
|
||||||
case AVSE8V:
|
case AVSE8V:
|
||||||
return &inst{0x27, 0x0, 0x0, 0x0, 0, 0x0}
|
return &inst{0x27, 0x0, 0x0, 0x0, 0, 0x0}
|
||||||
|
case AVSSEG2E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 512, 0x10}
|
||||||
|
case AVSSEG3E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1024, 0x20}
|
||||||
|
case AVSSEG4E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1536, 0x30}
|
||||||
|
case AVSSEG5E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -2048, 0x40}
|
||||||
|
case AVSSEG6E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1536, 0x50}
|
||||||
|
case AVSSEG7E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1024, 0x60}
|
||||||
|
case AVSSEG8E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -512, 0x70}
|
||||||
case AVSETIVLI:
|
case AVSETIVLI:
|
||||||
return &inst{0x57, 0x7, 0x0, 0x0, -1024, 0x60}
|
return &inst{0x57, 0x7, 0x0, 0x0, -1024, 0x60}
|
||||||
case AVSETVL:
|
case AVSETVL:
|
||||||
|
|
@ -1158,12 +1494,68 @@ func encode(a obj.As) *inst {
|
||||||
return &inst{0x57, 0x4, 0x0, 0x0, -1600, 0x4e}
|
return &inst{0x57, 0x4, 0x0, 0x0, -1600, 0x4e}
|
||||||
case AVSOXEI16V:
|
case AVSOXEI16V:
|
||||||
return &inst{0x27, 0x5, 0x0, 0x0, 192, 0x6}
|
return &inst{0x27, 0x5, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVSOXSEG2EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVSOXSEG3EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVSOXSEG4EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVSOXSEG5EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVSOXSEG6EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVSOXSEG7EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVSOXSEG8EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -320, 0x76}
|
||||||
case AVSOXEI32V:
|
case AVSOXEI32V:
|
||||||
return &inst{0x27, 0x6, 0x0, 0x0, 192, 0x6}
|
return &inst{0x27, 0x6, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVSOXSEG2EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVSOXSEG3EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVSOXSEG4EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVSOXSEG5EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVSOXSEG6EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVSOXSEG7EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVSOXSEG8EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -320, 0x76}
|
||||||
case AVSOXEI64V:
|
case AVSOXEI64V:
|
||||||
return &inst{0x27, 0x7, 0x0, 0x0, 192, 0x6}
|
return &inst{0x27, 0x7, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVSOXSEG2EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVSOXSEG3EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVSOXSEG4EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVSOXSEG5EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVSOXSEG6EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVSOXSEG7EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVSOXSEG8EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -320, 0x76}
|
||||||
case AVSOXEI8V:
|
case AVSOXEI8V:
|
||||||
return &inst{0x27, 0x0, 0x0, 0x0, 192, 0x6}
|
return &inst{0x27, 0x0, 0x0, 0x0, 192, 0x6}
|
||||||
|
case AVSOXSEG2EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 704, 0x16}
|
||||||
|
case AVSOXSEG3EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1216, 0x26}
|
||||||
|
case AVSOXSEG4EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1728, 0x36}
|
||||||
|
case AVSOXSEG5EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1856, 0x46}
|
||||||
|
case AVSOXSEG6EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1344, 0x56}
|
||||||
|
case AVSOXSEG7EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -832, 0x66}
|
||||||
|
case AVSOXSEG8EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -320, 0x76}
|
||||||
case AVSRAVI:
|
case AVSRAVI:
|
||||||
return &inst{0x57, 0x3, 0x0, 0x0, -1472, 0x52}
|
return &inst{0x57, 0x3, 0x0, 0x0, -1472, 0x52}
|
||||||
case AVSRAVV:
|
case AVSRAVV:
|
||||||
|
|
@ -1178,12 +1570,68 @@ func encode(a obj.As) *inst {
|
||||||
return &inst{0x57, 0x4, 0x0, 0x0, -1536, 0x50}
|
return &inst{0x57, 0x4, 0x0, 0x0, -1536, 0x50}
|
||||||
case AVSSE16V:
|
case AVSSE16V:
|
||||||
return &inst{0x27, 0x5, 0x0, 0x0, 128, 0x4}
|
return &inst{0x27, 0x5, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVSSSEG2E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVSSSEG3E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVSSSEG4E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVSSSEG5E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVSSSEG6E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVSSSEG7E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVSSSEG8E16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -384, 0x74}
|
||||||
case AVSSE32V:
|
case AVSSE32V:
|
||||||
return &inst{0x27, 0x6, 0x0, 0x0, 128, 0x4}
|
return &inst{0x27, 0x6, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVSSSEG2E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVSSSEG3E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVSSSEG4E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVSSSEG5E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVSSSEG6E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVSSSEG7E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVSSSEG8E32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -384, 0x74}
|
||||||
case AVSSE64V:
|
case AVSSE64V:
|
||||||
return &inst{0x27, 0x7, 0x0, 0x0, 128, 0x4}
|
return &inst{0x27, 0x7, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVSSSEG2E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVSSSEG3E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVSSSEG4E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVSSSEG5E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVSSSEG6E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVSSSEG7E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVSSSEG8E64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -384, 0x74}
|
||||||
case AVSSE8V:
|
case AVSSE8V:
|
||||||
return &inst{0x27, 0x0, 0x0, 0x0, 128, 0x4}
|
return &inst{0x27, 0x0, 0x0, 0x0, 128, 0x4}
|
||||||
|
case AVSSSEG2E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 640, 0x14}
|
||||||
|
case AVSSSEG3E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1152, 0x24}
|
||||||
|
case AVSSSEG4E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1664, 0x34}
|
||||||
|
case AVSSSEG5E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1920, 0x44}
|
||||||
|
case AVSSSEG6E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1408, 0x54}
|
||||||
|
case AVSSSEG7E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -896, 0x64}
|
||||||
|
case AVSSSEG8E8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -384, 0x74}
|
||||||
case AVSSRAVI:
|
case AVSSRAVI:
|
||||||
return &inst{0x57, 0x3, 0x0, 0x0, -1344, 0x56}
|
return &inst{0x57, 0x3, 0x0, 0x0, -1344, 0x56}
|
||||||
case AVSSRAVV:
|
case AVSSRAVV:
|
||||||
|
|
@ -1210,12 +1658,68 @@ func encode(a obj.As) *inst {
|
||||||
return &inst{0x57, 0x4, 0x0, 0x0, 128, 0x4}
|
return &inst{0x57, 0x4, 0x0, 0x0, 128, 0x4}
|
||||||
case AVSUXEI16V:
|
case AVSUXEI16V:
|
||||||
return &inst{0x27, 0x5, 0x0, 0x0, 64, 0x2}
|
return &inst{0x27, 0x5, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVSUXSEG2EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVSUXSEG3EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVSUXSEG4EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVSUXSEG5EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVSUXSEG6EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVSUXSEG7EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVSUXSEG8EI16V:
|
||||||
|
return &inst{0x27, 0x5, 0x0, 0x0, -448, 0x72}
|
||||||
case AVSUXEI32V:
|
case AVSUXEI32V:
|
||||||
return &inst{0x27, 0x6, 0x0, 0x0, 64, 0x2}
|
return &inst{0x27, 0x6, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVSUXSEG2EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVSUXSEG3EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVSUXSEG4EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVSUXSEG5EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVSUXSEG6EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVSUXSEG7EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVSUXSEG8EI32V:
|
||||||
|
return &inst{0x27, 0x6, 0x0, 0x0, -448, 0x72}
|
||||||
case AVSUXEI64V:
|
case AVSUXEI64V:
|
||||||
return &inst{0x27, 0x7, 0x0, 0x0, 64, 0x2}
|
return &inst{0x27, 0x7, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVSUXSEG2EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVSUXSEG3EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVSUXSEG4EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVSUXSEG5EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVSUXSEG6EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVSUXSEG7EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVSUXSEG8EI64V:
|
||||||
|
return &inst{0x27, 0x7, 0x0, 0x0, -448, 0x72}
|
||||||
case AVSUXEI8V:
|
case AVSUXEI8V:
|
||||||
return &inst{0x27, 0x0, 0x0, 0x0, 64, 0x2}
|
return &inst{0x27, 0x0, 0x0, 0x0, 64, 0x2}
|
||||||
|
case AVSUXSEG2EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 576, 0x12}
|
||||||
|
case AVSUXSEG3EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1088, 0x22}
|
||||||
|
case AVSUXSEG4EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, 1600, 0x32}
|
||||||
|
case AVSUXSEG5EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1984, 0x42}
|
||||||
|
case AVSUXSEG6EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -1472, 0x52}
|
||||||
|
case AVSUXSEG7EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -960, 0x62}
|
||||||
|
case AVSUXSEG8EI8V:
|
||||||
|
return &inst{0x27, 0x0, 0x0, 0x0, -448, 0x72}
|
||||||
case AVWADDVV:
|
case AVWADDVV:
|
||||||
return &inst{0x57, 0x2, 0x0, 0x0, -960, 0x62}
|
return &inst{0x57, 0x2, 0x0, 0x0, -960, 0x62}
|
||||||
case AVWADDVX:
|
case AVWADDVX:
|
||||||
|
|
|
||||||
|
|
@ -2151,6 +2151,260 @@ var instructions = [ALAST & obj.AMask]instructionData{
|
||||||
AVSOXEI32V & obj.AMask: {enc: sVIVEncoding},
|
AVSOXEI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
AVSOXEI64V & obj.AMask: {enc: sVIVEncoding},
|
AVSOXEI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
|
||||||
|
// 31.7.8: Vector Load/Store Segment Instructions
|
||||||
|
AVLSEG2E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E8V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E32V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E64V & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVSSEG2E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG3E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG4E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG5E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG6E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG7E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG8E8V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG2E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG3E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG4E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG5E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG6E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG7E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG8E16V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG2E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG3E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG4E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG5E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG6E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG7E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG8E32V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG2E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG3E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG4E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG5E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG6E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG7E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVSSEG8E64V & obj.AMask: {enc: sVEncoding},
|
||||||
|
AVLSEG2E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E8FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E16FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E32FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG2E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG3E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG4E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG5E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG6E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG7E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSEG8E64FFV & obj.AMask: {enc: iVEncoding},
|
||||||
|
AVLSSEG2E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG3E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG4E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG5E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG6E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG7E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG8E8V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG2E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG3E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG4E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG5E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG6E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG7E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG8E16V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG2E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG3E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG4E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG5E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG6E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG7E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG8E32V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG2E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG3E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG4E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG5E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG6E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG7E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVLSSEG8E64V & obj.AMask: {enc: iIIVEncoding},
|
||||||
|
AVSSSEG2E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG3E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG4E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG5E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG6E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG7E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG8E8V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG2E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG3E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG4E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG5E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG6E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG7E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG8E16V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG2E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG3E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG4E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG5E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG6E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG7E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG8E32V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG2E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG3E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG4E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG5E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG6E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG7E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVSSSEG8E64V & obj.AMask: {enc: sVIIEncoding},
|
||||||
|
AVLOXSEG2EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG3EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG4EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG5EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG6EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG7EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG8EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG2EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG3EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG4EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG5EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG6EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG7EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG8EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG2EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG3EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG4EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG5EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG6EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG7EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG8EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG2EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG3EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG4EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG5EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG6EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG7EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLOXSEG8EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVSOXSEG2EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG3EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG4EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG5EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG6EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG7EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG8EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG2EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG3EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG4EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG5EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG6EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG7EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG8EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG2EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG3EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG4EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG5EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG6EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG7EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG8EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG2EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG3EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG4EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG5EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG6EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG7EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSOXSEG8EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVLUXSEG2EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG3EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG4EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG5EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG6EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG7EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG8EI8V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG2EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG3EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG4EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG5EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG6EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG7EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG8EI16V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG2EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG3EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG4EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG5EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG6EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG7EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG8EI32V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG2EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG3EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG4EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG5EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG6EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG7EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVLUXSEG8EI64V & obj.AMask: {enc: iVIVEncoding},
|
||||||
|
AVSUXSEG2EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG3EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG4EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG5EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG6EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG7EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG8EI8V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG2EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG3EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG4EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG5EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG6EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG7EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG8EI16V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG2EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG3EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG4EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG5EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG6EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG7EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG8EI32V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG2EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG3EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG4EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG5EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG6EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG7EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
AVSUXSEG8EI64V & obj.AMask: {enc: sVIVEncoding},
|
||||||
|
|
||||||
// 31.7.9: Vector Load/Store Whole Register Instructions
|
// 31.7.9: Vector Load/Store Whole Register Instructions
|
||||||
AVL1RE8V & obj.AMask: {enc: iVEncoding},
|
AVL1RE8V & obj.AMask: {enc: iVEncoding},
|
||||||
AVL1RE16V & obj.AMask: {enc: iVEncoding},
|
AVL1RE16V & obj.AMask: {enc: iVEncoding},
|
||||||
|
|
@ -3539,7 +3793,19 @@ func instructionsForProg(p *obj.Prog) []*instruction {
|
||||||
ins.rs1 = uint32(p.From.Offset)
|
ins.rs1 = uint32(p.From.Offset)
|
||||||
}
|
}
|
||||||
|
|
||||||
case AVLE8V, AVLE16V, AVLE32V, AVLE64V, AVSE8V, AVSE16V, AVSE32V, AVSE64V, AVLMV, AVSMV:
|
case AVLE8V, AVLE16V, AVLE32V, AVLE64V, AVSE8V, AVSE16V, AVSE32V, AVSE64V, AVLMV, AVSMV,
|
||||||
|
AVLSEG2E8V, AVLSEG3E8V, AVLSEG4E8V, AVLSEG5E8V, AVLSEG6E8V, AVLSEG7E8V, AVLSEG8E8V,
|
||||||
|
AVLSEG2E16V, AVLSEG3E16V, AVLSEG4E16V, AVLSEG5E16V, AVLSEG6E16V, AVLSEG7E16V, AVLSEG8E16V,
|
||||||
|
AVLSEG2E32V, AVLSEG3E32V, AVLSEG4E32V, AVLSEG5E32V, AVLSEG6E32V, AVLSEG7E32V, AVLSEG8E32V,
|
||||||
|
AVLSEG2E64V, AVLSEG3E64V, AVLSEG4E64V, AVLSEG5E64V, AVLSEG6E64V, AVLSEG7E64V, AVLSEG8E64V,
|
||||||
|
AVSSEG2E8V, AVSSEG3E8V, AVSSEG4E8V, AVSSEG5E8V, AVSSEG6E8V, AVSSEG7E8V, AVSSEG8E8V,
|
||||||
|
AVSSEG2E16V, AVSSEG3E16V, AVSSEG4E16V, AVSSEG5E16V, AVSSEG6E16V, AVSSEG7E16V, AVSSEG8E16V,
|
||||||
|
AVSSEG2E32V, AVSSEG3E32V, AVSSEG4E32V, AVSSEG5E32V, AVSSEG6E32V, AVSSEG7E32V, AVSSEG8E32V,
|
||||||
|
AVSSEG2E64V, AVSSEG3E64V, AVSSEG4E64V, AVSSEG5E64V, AVSSEG6E64V, AVSSEG7E64V, AVSSEG8E64V,
|
||||||
|
AVLSEG2E8FFV, AVLSEG3E8FFV, AVLSEG4E8FFV, AVLSEG5E8FFV, AVLSEG6E8FFV, AVLSEG7E8FFV, AVLSEG8E8FFV,
|
||||||
|
AVLSEG2E16FFV, AVLSEG3E16FFV, AVLSEG4E16FFV, AVLSEG5E16FFV, AVLSEG6E16FFV, AVLSEG7E16FFV, AVLSEG8E16FFV,
|
||||||
|
AVLSEG2E32FFV, AVLSEG3E32FFV, AVLSEG4E32FFV, AVLSEG5E32FFV, AVLSEG6E32FFV, AVLSEG7E32FFV, AVLSEG8E32FFV,
|
||||||
|
AVLSEG2E64FFV, AVLSEG3E64FFV, AVLSEG4E64FFV, AVLSEG5E64FFV, AVLSEG6E64FFV, AVLSEG7E64FFV, AVLSEG8E64FFV:
|
||||||
// Set mask bit
|
// Set mask bit
|
||||||
switch {
|
switch {
|
||||||
case ins.rs1 == obj.REG_NONE:
|
case ins.rs1 == obj.REG_NONE:
|
||||||
|
|
@ -3550,7 +3816,19 @@ func instructionsForProg(p *obj.Prog) []*instruction {
|
||||||
ins.rd, ins.rs1, ins.rs2 = uint32(p.To.Reg), uint32(p.From.Reg), obj.REG_NONE
|
ins.rd, ins.rs1, ins.rs2 = uint32(p.To.Reg), uint32(p.From.Reg), obj.REG_NONE
|
||||||
|
|
||||||
case AVLSE8V, AVLSE16V, AVLSE32V, AVLSE64V,
|
case AVLSE8V, AVLSE16V, AVLSE32V, AVLSE64V,
|
||||||
AVLUXEI8V, AVLUXEI16V, AVLUXEI32V, AVLUXEI64V, AVLOXEI8V, AVLOXEI16V, AVLOXEI32V, AVLOXEI64V:
|
AVLUXEI8V, AVLUXEI16V, AVLUXEI32V, AVLUXEI64V, AVLOXEI8V, AVLOXEI16V, AVLOXEI32V, AVLOXEI64V,
|
||||||
|
AVLSSEG2E8V, AVLSSEG3E8V, AVLSSEG4E8V, AVLSSEG5E8V, AVLSSEG6E8V, AVLSSEG7E8V, AVLSSEG8E8V,
|
||||||
|
AVLSSEG2E16V, AVLSSEG3E16V, AVLSSEG4E16V, AVLSSEG5E16V, AVLSSEG6E16V, AVLSSEG7E16V, AVLSSEG8E16V,
|
||||||
|
AVLSSEG2E32V, AVLSSEG3E32V, AVLSSEG4E32V, AVLSSEG5E32V, AVLSSEG6E32V, AVLSSEG7E32V, AVLSSEG8E32V,
|
||||||
|
AVLSSEG2E64V, AVLSSEG3E64V, AVLSSEG4E64V, AVLSSEG5E64V, AVLSSEG6E64V, AVLSSEG7E64V, AVLSSEG8E64V,
|
||||||
|
AVLOXSEG2EI8V, AVLOXSEG3EI8V, AVLOXSEG4EI8V, AVLOXSEG5EI8V, AVLOXSEG6EI8V, AVLOXSEG7EI8V, AVLOXSEG8EI8V,
|
||||||
|
AVLOXSEG2EI16V, AVLOXSEG3EI16V, AVLOXSEG4EI16V, AVLOXSEG5EI16V, AVLOXSEG6EI16V, AVLOXSEG7EI16V, AVLOXSEG8EI16V,
|
||||||
|
AVLOXSEG2EI32V, AVLOXSEG3EI32V, AVLOXSEG4EI32V, AVLOXSEG5EI32V, AVLOXSEG6EI32V, AVLOXSEG7EI32V, AVLOXSEG8EI32V,
|
||||||
|
AVLOXSEG2EI64V, AVLOXSEG3EI64V, AVLOXSEG4EI64V, AVLOXSEG5EI64V, AVLOXSEG6EI64V, AVLOXSEG7EI64V, AVLOXSEG8EI64V,
|
||||||
|
AVLUXSEG2EI8V, AVLUXSEG3EI8V, AVLUXSEG4EI8V, AVLUXSEG5EI8V, AVLUXSEG6EI8V, AVLUXSEG7EI8V, AVLUXSEG8EI8V,
|
||||||
|
AVLUXSEG2EI16V, AVLUXSEG3EI16V, AVLUXSEG4EI16V, AVLUXSEG5EI16V, AVLUXSEG6EI16V, AVLUXSEG7EI16V, AVLUXSEG8EI16V,
|
||||||
|
AVLUXSEG2EI32V, AVLUXSEG3EI32V, AVLUXSEG4EI32V, AVLUXSEG5EI32V, AVLUXSEG6EI32V, AVLUXSEG7EI32V, AVLUXSEG8EI32V,
|
||||||
|
AVLUXSEG2EI64V, AVLUXSEG3EI64V, AVLUXSEG4EI64V, AVLUXSEG5EI64V, AVLUXSEG6EI64V, AVLUXSEG7EI64V, AVLUXSEG8EI64V:
|
||||||
// Set mask bit
|
// Set mask bit
|
||||||
switch {
|
switch {
|
||||||
case ins.rs3 == obj.REG_NONE:
|
case ins.rs3 == obj.REG_NONE:
|
||||||
|
|
@ -3561,7 +3839,19 @@ func instructionsForProg(p *obj.Prog) []*instruction {
|
||||||
ins.rs1, ins.rs2, ins.rs3 = ins.rs2, ins.rs1, obj.REG_NONE
|
ins.rs1, ins.rs2, ins.rs3 = ins.rs2, ins.rs1, obj.REG_NONE
|
||||||
|
|
||||||
case AVSSE8V, AVSSE16V, AVSSE32V, AVSSE64V,
|
case AVSSE8V, AVSSE16V, AVSSE32V, AVSSE64V,
|
||||||
AVSUXEI8V, AVSUXEI16V, AVSUXEI32V, AVSUXEI64V, AVSOXEI8V, AVSOXEI16V, AVSOXEI32V, AVSOXEI64V:
|
AVSUXEI8V, AVSUXEI16V, AVSUXEI32V, AVSUXEI64V, AVSOXEI8V, AVSOXEI16V, AVSOXEI32V, AVSOXEI64V,
|
||||||
|
AVSSSEG2E8V, AVSSSEG3E8V, AVSSSEG4E8V, AVSSSEG5E8V, AVSSSEG6E8V, AVSSSEG7E8V, AVSSSEG8E8V,
|
||||||
|
AVSSSEG2E16V, AVSSSEG3E16V, AVSSSEG4E16V, AVSSSEG5E16V, AVSSSEG6E16V, AVSSSEG7E16V, AVSSSEG8E16V,
|
||||||
|
AVSSSEG2E32V, AVSSSEG3E32V, AVSSSEG4E32V, AVSSSEG5E32V, AVSSSEG6E32V, AVSSSEG7E32V, AVSSSEG8E32V,
|
||||||
|
AVSSSEG2E64V, AVSSSEG3E64V, AVSSSEG4E64V, AVSSSEG5E64V, AVSSSEG6E64V, AVSSSEG7E64V, AVSSSEG8E64V,
|
||||||
|
AVSOXSEG2EI8V, AVSOXSEG3EI8V, AVSOXSEG4EI8V, AVSOXSEG5EI8V, AVSOXSEG6EI8V, AVSOXSEG7EI8V, AVSOXSEG8EI8V,
|
||||||
|
AVSOXSEG2EI16V, AVSOXSEG3EI16V, AVSOXSEG4EI16V, AVSOXSEG5EI16V, AVSOXSEG6EI16V, AVSOXSEG7EI16V, AVSOXSEG8EI16V,
|
||||||
|
AVSOXSEG2EI32V, AVSOXSEG3EI32V, AVSOXSEG4EI32V, AVSOXSEG5EI32V, AVSOXSEG6EI32V, AVSOXSEG7EI32V, AVSOXSEG8EI32V,
|
||||||
|
AVSOXSEG2EI64V, AVSOXSEG3EI64V, AVSOXSEG4EI64V, AVSOXSEG5EI64V, AVSOXSEG6EI64V, AVSOXSEG7EI64V, AVSOXSEG8EI64V,
|
||||||
|
AVSUXSEG2EI8V, AVSUXSEG3EI8V, AVSUXSEG4EI8V, AVSUXSEG5EI8V, AVSUXSEG6EI8V, AVSUXSEG7EI8V, AVSUXSEG8EI8V,
|
||||||
|
AVSUXSEG2EI16V, AVSUXSEG3EI16V, AVSUXSEG4EI16V, AVSUXSEG5EI16V, AVSUXSEG6EI16V, AVSUXSEG7EI16V, AVSUXSEG8EI16V,
|
||||||
|
AVSUXSEG2EI32V, AVSUXSEG3EI32V, AVSUXSEG4EI32V, AVSUXSEG5EI32V, AVSUXSEG6EI32V, AVSUXSEG7EI32V, AVSUXSEG8EI32V,
|
||||||
|
AVSUXSEG2EI64V, AVSUXSEG3EI64V, AVSUXSEG4EI64V, AVSUXSEG5EI64V, AVSUXSEG6EI64V, AVSUXSEG7EI64V, AVSUXSEG8EI64V:
|
||||||
// Set mask bit
|
// Set mask bit
|
||||||
switch {
|
switch {
|
||||||
case ins.rs3 == obj.REG_NONE:
|
case ins.rs3 == obj.REG_NONE:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue