treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288
[linux-block.git] / tools / perf / arch / x86 / tests / gen-insn-x86-dat.awk
CommitLineData
98e4619f 1#!/bin/awk -f
2025cf9e 2# SPDX-License-Identifier: GPL-2.0-only
98e4619f
AH
3# gen-insn-x86-dat.awk: script to convert data for the insn-x86 test
4# Copyright (c) 2015, Intel Corporation.
5#
98e4619f
AH
6
7BEGIN {
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}