Skip to content

Commit 901926b

Browse files
committed
Change import hex_common to explicit
1 parent fd974d8 commit 901926b

File tree

9 files changed

+213
-209
lines changed

9 files changed

+213
-209
lines changed

target/hexagon/gen_helper_funcs.py

Lines changed: 57 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import string
2323
from io import StringIO
2424

25-
from hex_common import *
25+
import hex_common
2626

2727
##
2828
## Helpers for gen_helper_function
@@ -59,26 +59,26 @@ def gen_helper_arg_ext_pair(f,regtype,regid,regno):
5959
f.write("void *%s%sV_void" % (regtype,regid))
6060

6161
def gen_helper_arg_opn(f,regtype,regid,i,tag):
62-
if (is_pair(regid)):
63-
if (is_hvx_reg(regtype)):
62+
if (hex_common.is_pair(regid)):
63+
if (hex_common.is_hvx_reg(regtype)):
6464
gen_helper_arg_ext_pair(f,regtype,regid,i)
6565
else:
6666
gen_helper_arg_pair(f,regtype,regid,i)
67-
elif (is_single(regid)):
68-
if is_old_val(regtype, regid, tag):
69-
if (is_hvx_reg(regtype)):
67+
elif (hex_common.is_single(regid)):
68+
if hex_common.is_old_val(regtype, regid, tag):
69+
if (hex_common.is_hvx_reg(regtype)):
7070
gen_helper_arg_ext(f,regtype,regid,i)
7171
else:
7272
gen_helper_arg(f,regtype,regid,i)
73-
elif is_new_val(regtype, regid, tag):
73+
elif hex_common.is_new_val(regtype, regid, tag):
7474
gen_helper_arg_new(f,regtype,regid,i)
7575
else:
7676
print("Bad register parse: ",regtype,regid,toss,numregs)
7777
else:
7878
print("Bad register parse: ",regtype,regid,toss,numregs)
7979

8080
def gen_helper_arg_imm(f,immlett):
81-
f.write(", int32_t %s" % (imm_name(immlett)))
81+
f.write(", int32_t %s" % (hex_common.imm_name(immlett)))
8282

8383
def gen_helper_dest_decl(f,regtype,regid,regno,subfield=""):
8484
f.write(" int32_t %s%sV%s = 0;\n" % \
@@ -97,13 +97,13 @@ def gen_helper_dest_decl_ext_pair(f,regtype,regid,regno):
9797
(regtype,regid,regtype, regid))
9898

9999
def gen_helper_dest_decl_opn(f,regtype,regid,i):
100-
if (is_pair(regid)):
101-
if (is_hvx_reg(regtype)):
100+
if (hex_common.is_pair(regid)):
101+
if (hex_common.is_hvx_reg(regtype)):
102102
gen_helper_dest_decl_ext_pair(f,regtype,regid, i)
103103
else:
104104
gen_helper_dest_decl_pair(f,regtype,regid,i)
105-
elif (is_single(regid)):
106-
if (is_hvx_reg(regtype)):
105+
elif (hex_common.is_single(regid)):
106+
if (hex_common.is_hvx_reg(regtype)):
107107
gen_helper_dest_decl_ext(f,regtype,regid)
108108
else:
109109
gen_helper_dest_decl(f,regtype,regid,i)
@@ -133,13 +133,13 @@ def gen_helper_dst_write_ext_pair(f,regtype,regid):
133133
(regtype,regid, regtype,regid))
134134

135135
def gen_helper_return_opn(f, regtype, regid, i):
136-
if (is_pair(regid)):
137-
if (is_hvx_reg(regtype)):
136+
if (hex_common.is_pair(regid)):
137+
if (hex_common.is_hvx_reg(regtype)):
138138
gen_helper_dst_write_ext_pair(f,regtype,regid)
139139
else:
140140
gen_helper_return_pair(f,regtype,regid,i)
141-
elif (is_single(regid)):
142-
if (is_hvx_reg(regtype)):
141+
elif (hex_common.is_single(regid)):
142+
if (hex_common.is_hvx_reg(regtype)):
143143
gen_helper_dst_write_ext(f,regtype,regid)
144144
else:
145145
gen_helper_return(f,regtype,regid,i)
@@ -167,12 +167,12 @@ def gen_helper_function(f, tag, tagregs, tagimms):
167167
numscalarresults = 0
168168
numscalarreadwrite = 0
169169
for regtype,regid,toss,numregs in regs:
170-
if (is_written(regid)):
170+
if (hex_common.is_written(regid)):
171171
numresults += 1
172-
if (is_scalar_reg(regtype)):
172+
if (hex_common.is_scalar_reg(regtype)):
173173
numscalarresults += 1
174-
if (is_readwrite(regid)):
175-
if (is_scalar_reg(regtype)):
174+
if (hex_common.is_readwrite(regid)):
175+
if (hex_common.is_scalar_reg(regtype)):
176176
numscalarreadwrite += 1
177177

178178
if (numscalarresults > 1):
@@ -184,14 +184,14 @@ def gen_helper_function(f, tag, tagregs, tagimms):
184184
## register (if scalar)
185185
i=0
186186
for regtype,regid,toss,numregs in regs:
187-
if (is_written(regid)):
188-
if (is_pair(regid)):
189-
if (is_hvx_reg(regtype)):
187+
if (hex_common.is_written(regid)):
188+
if (hex_common.is_pair(regid)):
189+
if (hex_common.is_hvx_reg(regtype)):
190190
continue
191191
else:
192192
gen_helper_return_type_pair(f,regtype,regid,i)
193-
elif (is_single(regid)):
194-
if (is_hvx_reg(regtype)):
193+
elif (hex_common.is_single(regid)):
194+
if (hex_common.is_hvx_reg(regtype)):
195195
continue
196196
else:
197197
gen_helper_return_type(f,regtype,regid,i)
@@ -206,14 +206,14 @@ def gen_helper_function(f, tag, tagregs, tagimms):
206206
## Arguments include the vector destination operands
207207
i = 1
208208
for regtype,regid,toss,numregs in regs:
209-
if (is_written(regid)):
210-
if (is_pair(regid)):
211-
if (is_hvx_reg(regtype)):
209+
if (hex_common.is_written(regid)):
210+
if (hex_common.is_pair(regid)):
211+
if (hex_common.is_hvx_reg(regtype)):
212212
gen_helper_arg_ext_pair(f,regtype,regid,i)
213213
else:
214214
continue
215-
elif (is_single(regid)):
216-
if (is_hvx_reg(regtype)):
215+
elif (hex_common.is_single(regid)):
216+
if (hex_common.is_hvx_reg(regtype)):
217217
gen_helper_arg_ext(f,regtype,regid,i)
218218
else:
219219
# This is the return value of the function
@@ -224,75 +224,76 @@ def gen_helper_function(f, tag, tagregs, tagimms):
224224

225225
## Arguments to the helper function are the source regs and immediates
226226
for regtype,regid,toss,numregs in regs:
227-
if (is_read(regid)):
228-
if (is_hvx_reg(regtype) and is_readwrite(regid)):
227+
if (hex_common.is_read(regid)):
228+
if (hex_common.is_hvx_reg(regtype) and
229+
hex_common.is_readwrite(regid)):
229230
continue
230231
gen_helper_arg_opn(f,regtype,regid,i,tag)
231232
i += 1
232233
for immlett,bits,immshift in imms:
233234
gen_helper_arg_imm(f,immlett)
234235
i += 1
235-
if need_slot(tag):
236+
if hex_common.need_slot(tag):
236237
if i > 0: f.write(", ")
237238
f.write("uint32_t slot")
238239
i += 1
239-
if need_part1(tag):
240+
if hex_common.need_part1(tag):
240241
if i > 0: f.write(", ")
241242
f.write("uint32_t part1")
242243
f.write(")\n{\n")
243-
if (not need_slot(tag)):
244+
if (not hex_common.need_slot(tag)):
244245
f.write(" uint32_t slot __attribute__((unused)) = 4;\n" )
245-
if need_ea(tag): gen_decl_ea(f)
246+
if hex_common.need_ea(tag): gen_decl_ea(f)
246247
## Declare the return variable
247248
i=0
248249
for regtype,regid,toss,numregs in regs:
249-
if (is_writeonly(regid)):
250+
if (hex_common.is_writeonly(regid)):
250251
gen_helper_dest_decl_opn(f,regtype,regid,i)
251252
i += 1
252253

253254
for regtype,regid,toss,numregs in regs:
254-
if (is_read(regid)):
255-
if (is_pair(regid)):
256-
if (is_hvx_reg(regtype)):
255+
if (hex_common.is_read(regid)):
256+
if (hex_common.is_pair(regid)):
257+
if (hex_common.is_hvx_reg(regtype)):
257258
gen_helper_src_var_ext_pair(f,regtype,regid,i)
258-
elif (is_single(regid)):
259-
if (is_hvx_reg(regtype)):
259+
elif (hex_common.is_single(regid)):
260+
if (hex_common.is_hvx_reg(regtype)):
260261
gen_helper_src_var_ext(f,regtype,regid)
261262
else:
262263
print("Bad register parse: ",regtype,regid,toss,numregs)
263264

264-
if 'A_FPOP' in attribdict[tag]:
265+
if 'A_FPOP' in hex_common.attribdict[tag]:
265266
f.write(' arch_fpop_start(env);\n');
266267

267-
f.write(" %s\n" % semdict[tag])
268+
f.write(" %s\n" % hex_common.semdict[tag])
268269
f.write(" COUNT_HELPER(%s);\n" % tag )
269270

270-
if 'A_FPOP' in attribdict[tag]:
271+
if 'A_FPOP' in hex_common.attribdict[tag]:
271272
f.write(' arch_fpop_end(env);\n');
272273

273274
## Save/return the return variable
274275
for regtype,regid,toss,numregs in regs:
275-
if (is_written(regid)):
276+
if (hex_common.is_written(regid)):
276277
gen_helper_return_opn(f, regtype, regid, i)
277278
f.write("}\n\n")
278279
## End of the helper definition
279280

280281
def main():
281-
read_semantics_file(sys.argv[1])
282-
read_attribs_file(sys.argv[2])
283-
read_overrides_file(sys.argv[3])
284-
calculate_attribs()
285-
tagregs = get_tagregs()
286-
tagimms = get_tagimms()
282+
hex_common.read_semantics_file(sys.argv[1])
283+
hex_common.read_attribs_file(sys.argv[2])
284+
hex_common.read_overrides_file(sys.argv[3])
285+
hex_common.calculate_attribs()
286+
tagregs = hex_common.get_tagregs()
287+
tagimms = hex_common.get_tagimms()
287288

288289
f = StringIO()
289290

290-
for tag in tags:
291+
for tag in hex_common.tags:
291292
## Skip the priv instructions
292-
if ( "A_PRIV" in attribdict[tag] ) :
293+
if ( "A_PRIV" in hex_common.attribdict[tag] ) :
293294
continue
294295
## Skip the guest instructions
295-
if ( "A_GUEST" in attribdict[tag] ) :
296+
if ( "A_GUEST" in hex_common.attribdict[tag] ) :
296297
continue
297298
## Skip the diag instructions
298299
if ( tag == "Y6_diag" ) :
@@ -301,7 +302,7 @@ def main():
301302
continue
302303
if ( tag == "Y6_diag1" ) :
303304
continue
304-
if ( skip_qemu_helper(tag) ):
305+
if ( hex_common.skip_qemu_helper(tag) ):
305306
continue
306307

307308
gen_helper_function(f, tag, tagregs, tagimms)

target/hexagon/gen_helper_protos.py

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import string
2323
from io import StringIO
2424

25-
from hex_common import *
25+
import hex_common
2626

2727
##
2828
## Helpers for gen_helper_prototype
@@ -48,9 +48,9 @@
4848
}
4949

5050
def gen_def_helper_opn(f, tag, regtype, regid, toss, numregs, i):
51-
if (is_pair(regid)):
51+
if (hex_common.is_pair(regid)):
5252
f.write(", %s" % (def_helper_types_pair[regtype]))
53-
elif (is_single(regid)):
53+
elif (hex_common.is_single(regid)):
5454
f.write(", %s" % (def_helper_types[regtype]))
5555
else:
5656
print("Bad register parse: ",regtype,regid,toss,numregs)
@@ -69,12 +69,12 @@ def gen_helper_prototype(f, tag, tagregs, tagimms):
6969
numscalarresults = 0
7070
numscalarreadwrite = 0
7171
for regtype,regid,toss,numregs in regs:
72-
if (is_written(regid)):
72+
if (hex_common.is_written(regid)):
7373
numresults += 1
74-
if (is_scalar_reg(regtype)):
74+
if (hex_common.is_scalar_reg(regtype)):
7575
numscalarresults += 1
76-
if (is_readwrite(regid)):
77-
if (is_scalar_reg(regtype)):
76+
if (hex_common.is_readwrite(regid)):
77+
if (hex_common.is_scalar_reg(regtype)):
7878
numscalarreadwrite += 1
7979

8080
if (numscalarresults > 1):
@@ -84,15 +84,15 @@ def gen_helper_prototype(f, tag, tagregs, tagimms):
8484
## Figure out how many arguments the helper will take
8585
if (numscalarresults == 0):
8686
def_helper_size = len(regs)+len(imms)+numscalarreadwrite+1
87-
if need_part1(tag): def_helper_size += 1
88-
if need_slot(tag): def_helper_size += 1
87+
if hex_common.need_part1(tag): def_helper_size += 1
88+
if hex_common.need_slot(tag): def_helper_size += 1
8989
f.write('DEF_HELPER_%s(%s' % (def_helper_size, tag))
9090
## The return type is void
9191
f.write(', void' )
9292
else:
9393
def_helper_size = len(regs)+len(imms)+numscalarreadwrite
94-
if need_part1(tag): def_helper_size += 1
95-
if need_slot(tag): def_helper_size += 1
94+
if hex_common.need_part1(tag): def_helper_size += 1
95+
if hex_common.need_slot(tag): def_helper_size += 1
9696
f.write('DEF_HELPER_%s(%s' % (def_helper_size, tag))
9797

9898
## Generate the qemu DEF_HELPER type for each result
@@ -101,8 +101,8 @@ def gen_helper_prototype(f, tag, tagregs, tagimms):
101101
## - Emit the vector result
102102
i=0
103103
for regtype,regid,toss,numregs in regs:
104-
if (is_written(regid)):
105-
if (not is_hvx_reg(regtype)):
104+
if (hex_common.is_written(regid)):
105+
if (not hex_common.is_hvx_reg(regtype)):
106106
gen_def_helper_opn(f, tag, regtype, regid, toss, numregs, i)
107107
i += 1
108108

@@ -112,42 +112,43 @@ def gen_helper_prototype(f, tag, tagregs, tagimms):
112112

113113
# Second pass
114114
for regtype,regid,toss,numregs in regs:
115-
if (is_written(regid)):
116-
if (is_hvx_reg(regtype)):
115+
if (hex_common.is_written(regid)):
116+
if (hex_common.is_hvx_reg(regtype)):
117117
gen_def_helper_opn(f, tag, regtype, regid, toss, numregs, i)
118118
i += 1
119119

120120
## Generate the qemu type for each input operand (regs and immediates)
121121
for regtype,regid,toss,numregs in regs:
122-
if (is_read(regid)):
123-
if (is_hvx_reg(regtype) and is_readwrite(regid)):
122+
if (hex_common.is_read(regid)):
123+
if (hex_common.is_hvx_reg(regtype) and
124+
hex_common.is_readwrite(regid)):
124125
continue
125126
gen_def_helper_opn(f, tag, regtype, regid, toss, numregs, i)
126127
i += 1
127128
for immlett,bits,immshift in imms:
128129
f.write(", s32")
129130

130131
## Add the arguments for the instruction slot and part1 (if needed)
131-
if need_slot(tag): f.write(', i32' )
132-
if need_part1(tag): f.write(' , i32' )
132+
if hex_common.need_slot(tag): f.write(', i32' )
133+
if hex_common.need_part1(tag): f.write(' , i32' )
133134
f.write(')\n')
134135

135136
def main():
136-
read_semantics_file(sys.argv[1])
137-
read_attribs_file(sys.argv[2])
138-
read_overrides_file(sys.argv[3])
139-
calculate_attribs()
140-
tagregs = get_tagregs()
141-
tagimms = get_tagimms()
137+
hex_common.read_semantics_file(sys.argv[1])
138+
hex_common.read_attribs_file(sys.argv[2])
139+
hex_common.read_overrides_file(sys.argv[3])
140+
hex_common.calculate_attribs()
141+
tagregs = hex_common.get_tagregs()
142+
tagimms = hex_common.get_tagimms()
142143

143144
f = StringIO()
144145

145-
for tag in tags:
146+
for tag in hex_common.tags:
146147
## Skip the priv instructions
147-
if ( "A_PRIV" in attribdict[tag] ) :
148+
if ( "A_PRIV" in hex_common.attribdict[tag] ) :
148149
continue
149150
## Skip the guest instructions
150-
if ( "A_GUEST" in attribdict[tag] ) :
151+
if ( "A_GUEST" in hex_common.attribdict[tag] ) :
151152
continue
152153
## Skip the diag instructions
153154
if ( tag == "Y6_diag" ) :
@@ -157,7 +158,7 @@ def main():
157158
if ( tag == "Y6_diag1" ) :
158159
continue
159160

160-
if ( skip_qemu_helper(tag) ):
161+
if ( hex_common.skip_qemu_helper(tag) ):
161162
continue
162163

163164
gen_helper_prototype(f, tag, tagregs, tagimms)

0 commit comments

Comments
 (0)