0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-07-24 10:25:42 -04:00

x86: add Perl script for rex2 compatibility testing (not yet used)

Add a Perl script to try to automate REX2 compatibility flagging. Not
yet integrated into the build process.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
This commit is contained in:
H. Peter Anvin 2025-03-04 08:43:09 -08:00
parent 3d686291c0
commit 0ab85c391c

25
x86/rex2.pl Normal file
View File

@ -0,0 +1,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";
}