4 .section .mips16.call.\name, "ax", @progbits
6 .type __call_stub_\name, @function
13 # Flags to specify how a particular function is referenced
15 .equ DC, 1 # Direct call from "compressed" code
16 .equ IC, 2 # Indirect call from "compressed" code
17 .equ DU, 4 # Direct call from "uncompressed" code
18 .equ IU, 8 # Indirect call from "uncompressed" code
19 .equ LO, 16 # Direct address reference (%lo)
21 # A wrapper around a macro called test_one, which is defined by
22 # the file that includes this one. NAME is the name of a function
23 # that is referenced in the way described by FLAGS, an inclusive OR
24 # of the flags above. The wrapper filters out any functions whose
25 # FLAGS are not a subset of FILTER.
27 .macro test_filter, name, flags
28 .if (\flags & filter) == \flags
29 test_one \name, \flags
33 .macro test_all_dc, name, flags
34 test_filter \name, \flags
35 test_filter \name\()_dc, (\flags | DC)
38 .macro test_all_ic, name, flags
39 test_all_dc \name, \flags
40 test_all_dc \name\()_ic, (\flags | IC)
43 .macro test_all_du, name, flags
44 test_all_ic \name, \flags
45 test_all_ic \name\()_du, (\flags | DU)
48 .macro test_all_iu, name, flags
49 test_all_du \name, \flags
50 test_all_du \name\()_iu, (\flags | IU)
53 .macro test_all_lo, name, flags
54 test_all_iu \name, \flags
55 test_all_iu \name\()_lo, (\flags | LO)
58 # Test all the combinations of interest.