File: rex2.pl

package info (click to toggle)
nasm 3.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,660 kB
  • sloc: ansic: 129,101; asm: 40,471; perl: 8,238; sh: 4,146; makefile: 1,281; xml: 726; python: 582; lisp: 578; sed: 11
file content (25 lines) | stat: -rw-r--r-- 507 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl

use integer;

while (<>) {
    chomp;
    print $_;
    if (!/\#/ &&
	# VEX/XOP is implicit so no need to clutter
	# the table with it...
	!/\b(rex2|vex|evex|xop)\b/ &&
	!/\bNOAPX\b/ &&
	!/\bNOLONG\b/ &&
	# Maps 2+ are not REX2 encodable, this is implicit
	!/\b0f3[a8]\b/ &&
	!/\b(m|map)([2-9]|[1][0-9])\b/ &&
	((!/\b0f\b/ &&
	  !/\b[^47ae][0-9a-f] [47ae][0-9a-f]\b/ &&
	  /\b[47ae][0-9a-f]\b/) ||
	 /\b0f [38][0-9a-f]\b/ ||
	 /^(XSAVE|XRSTOR)/)) {
	print ",NOAPX";
    }
    print "\n";
}