summaryrefslogtreecommitdiff
path: root/insns.pl
diff options
context:
space:
mode:
authorBen Rudiak-Gould <benrudiak@gmail.com>2013-02-27 10:13:14 -0800
committerCyrill Gorcunov <gorcunov@gmail.com>2013-03-04 00:46:16 +0400
commit6e87893f068f59929cb2d6dcc50ac1a1da2f602c (patch)
tree118cfec7a0d82720ab368ed025f12bdf66de6f67 /insns.pl
parentd1ac29a3cc513642a8d42ddf964b903f5e1508d4 (diff)
downloadnasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.tar.gz
nasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.tar.bz2
nasm-6e87893f068f59929cb2d6dcc50ac1a1da2f602c.zip
Drop SAME_AS flag from instruction matcher
It was there to support the SSE5 DREX encoding, which as far as I know is dead forever. Signed-off-by: Ben Rudiak-Gould <benrudiak@gmail.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Diffstat (limited to 'insns.pl')
-rwxr-xr-xinsns.pl30
1 files changed, 13 insertions, 17 deletions
diff --git a/insns.pl b/insns.pl
index e69977c..c9ccf24 100755
--- a/insns.pl
+++ b/insns.pl
@@ -433,25 +433,21 @@ sub format_insn($$$$$) {
@ops = ();
if ($operands ne 'void') {
foreach $op (split(/,/, $operands)) {
- if ($op =~ /^\=([0-9]+)$/) {
- $op = "same_as|$1";
- } else {
- @opx = ();
- foreach $opp (split(/\|/, $op)) {
- @oppx = ();
- if ($opp =~ s/(?<=\D)(8|16|32|64|80|128|256)$//) {
- push(@oppx, "bits$1");
- }
- $opp =~ s/^mem$/memory/;
- $opp =~ s/^memory_offs$/mem_offs/;
- $opp =~ s/^imm$/immediate/;
- $opp =~ s/^([a-z]+)rm$/rm_$1/;
- $opp =~ s/^rm$/rm_gpr/;
- $opp =~ s/^reg$/reg_gpr/;
- push(@opx, $opp, @oppx);
+ @opx = ();
+ foreach $opp (split(/\|/, $op)) {
+ @oppx = ();
+ if ($opp =~ s/(?<=\D)(8|16|32|64|80|128|256)$//) {
+ push(@oppx, "bits$1");
}
- $op = join('|', @opx);
+ $opp =~ s/^mem$/memory/;
+ $opp =~ s/^memory_offs$/mem_offs/;
+ $opp =~ s/^imm$/immediate/;
+ $opp =~ s/^([a-z]+)rm$/rm_$1/;
+ $opp =~ s/^rm$/rm_gpr/;
+ $opp =~ s/^reg$/reg_gpr/;
+ push(@opx, $opp, @oppx);
}
+ $op = join('|', @opx);
push(@ops, $op);
}
}