From 0ab85c391cf41e184435d03971e9c8581a27a620 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Tue, 4 Mar 2025 08:43:09 -0800 Subject: [PATCH] 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) --- x86/rex2.pl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 x86/rex2.pl diff --git a/x86/rex2.pl b/x86/rex2.pl new file mode 100644 index 00000000..015d1940 --- /dev/null +++ b/x86/rex2.pl @@ -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"; +}