32 lines
912 B
Awk
32 lines
912 B
Awk
|
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||
|
#
|
||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
||
|
{
|
||
|
argsum = 0
|
||
|
|
||
|
argsum = or(argsum, 1 * (index($4, "m") != 0))
|
||
|
argsum = or(argsum, 2 * (index($4, "f") != 0))
|
||
|
argsum = or(argsum, 4 * (index($4, "s") != 0))
|
||
|
argsum = or(argsum, 8 * (index($4, "t") != 0))
|
||
|
argsum = or(argsum, 16 * (index($4, "i") != 0))
|
||
|
argsum = or(argsum, 32 * (index($4, "I") != 0))
|
||
|
argsum = or(argsum, 64 * (index($4, "d") != 0))
|
||
|
argsum = or(argsum, 128 * (index($4, "u") != 0))
|
||
|
|
||
|
mul = 256
|
||
|
|
||
|
arg_val="SLAHCFR"
|
||
|
|
||
|
argstr=$5
|
||
|
gsub(" ", "", argstr)
|
||
|
split(argstr, args, "")
|
||
|
for(i=1; i<=length(argstr); i+=1) {
|
||
|
argnum = (index(argstr, "?") != 0) * 8
|
||
|
argnum += index(arg_val, args[i])
|
||
|
argsum += argnum * mul
|
||
|
mul = lshift(mul, 4)
|
||
|
}
|
||
|
printf("\t0x%08x,\t/* %s */\n", argsum, $1)
|
||
|
}
|