#!/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"; }