~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/arch/x86/tests/gen-insn-x86-dat.awk

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/awk -f
  2 # SPDX-License-Identifier: GPL-2.0-only
  3 # gen-insn-x86-dat.awk: script to convert data for the insn-x86 test
  4 # Copyright (c) 2015, Intel Corporation.
  5 #
  6 
  7 BEGIN {
  8         print "/*"
  9         print " * Generated by gen-insn-x86-dat.sh and gen-insn-x86-dat.awk"
 10         print " * from insn-x86-dat-src.c for inclusion by insn-x86.c"
 11         print " * Do not change this code."
 12         print "*/\n"
 13         op = ""
 14         branch = ""
 15         rel = 0
 16         going = 0
 17 }
 18 
 19 / Start here / {
 20         going = 1
 21 }
 22 
 23 / Stop here / {
 24         going = 0
 25 }
 26 
 27 /^\s*[0-9a-fA-F]+\:/ {
 28         if (going) {
 29                 colon_pos = index($0, ":")
 30                 useful_line = substr($0, colon_pos + 1)
 31                 first_pos = match(useful_line, "[0-9a-fA-F]")
 32                 useful_line = substr(useful_line, first_pos)
 33                 gsub("\t", "\\t", useful_line)
 34                 printf "{{"
 35                 len = 0
 36                 for (i = 2; i <= NF; i++) {
 37                         if (match($i, "^[0-9a-fA-F][0-9a-fA-F]$")) {
 38                                 printf "0x%s, ", $i
 39                                 len += 1
 40                         } else {
 41                                 break
 42                         }
 43                 }
 44                 printf "}, %d, %s, \"%s\", \"%s\",", len, rel, op, branch
 45                 printf "\n\"%s\",},\n", useful_line
 46                 op = ""
 47                 branch = ""
 48                 rel = 0
 49         }
 50 }
 51 
 52 / Expecting: / {
 53         expecting_str = " Expecting: "
 54         expecting_len = length(expecting_str)
 55         expecting_pos = index($0, expecting_str)
 56         useful_line = substr($0, expecting_pos + expecting_len)
 57         for (i = 1; i <= NF; i++) {
 58                 if ($i == "Expecting:") {
 59                         i++
 60                         op = $i
 61                         i++
 62                         branch = $i
 63                         i++
 64                         rel = $i
 65                         break
 66                 }
 67         }
 68 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php