summaryrefslogtreecommitdiff
path: root/vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go')
-rw-r--r--vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go44
1 files changed, 0 insertions, 44 deletions
diff --git a/vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go b/vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go
deleted file mode 100644
index 7d0b75bf4..000000000
--- a/vendor/github.com/twitchyliquid64/golang-asm/obj/x86/ytab.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package x86
-
-// argListMax specifies upper arg count limit expected to be carried by obj.Prog.
-// Max len(obj.Prog.RestArgs) can be inferred from this to be 4.
-const argListMax int = 6
-
-type argList [argListMax]uint8
-
-type ytab struct {
- zcase uint8
- zoffset uint8
-
- // Last arg is usually destination.
- // For unary instructions unaryDst is used to determine
- // if single argument is a source or destination.
- args argList
-}
-
-// Returns true if yt is compatible with args.
-//
-// Elements from args and yt.args are used
-// to index ycover table like `ycover[args[i]+yt.args[i]]`.
-// This means that args should contain values that already
-// multiplied by Ymax.
-func (yt *ytab) match(args []int) bool {
- // Trailing Yxxx check is required to avoid a case
- // where shorter arg list is matched.
- // If we had exact yt.args length, it could be `yt.argc != len(args)`.
- if len(args) < len(yt.args) && yt.args[len(args)] != Yxxx {
- return false
- }
-
- for i := range args {
- if ycover[args[i]+int(yt.args[i])] == 0 {
- return false
- }
- }
-
- return true
-}