Skip to content

Commit cd4b0b1

Browse files
committed
GP-4319 updated calling convention with larger sizes and allow floats
1 parent e1a2362 commit cd4b0b1

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

Ghidra/Processors/tricore/data/languages/tricore.cspec

+21-8
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@
3333
</returnaddress>
3434

3535
<stackpointer register="a10" space="ram"/>
36+
37+
<prefersplit style="inhalf">
38+
<register name="e4"/>
39+
<register name="e6"/>
40+
</prefersplit>
41+
3642
<default_proto>
3743
<prototype name="__stdcall" extrapop="0" stackshift="0">
3844
<input>
@@ -51,34 +57,41 @@
5157
<pentry minsize="4" maxsize="4" metatype="ptr">
5258
<register name="a7"/>
5359
</pentry>
54-
<pentry minsize="1" maxsize="4" extension="inttype"> <!-- This is the first non pointer -->
60+
<pentry minsize="1" maxsize="4"> <!-- This is the first non pointer -->
5561
<register name="d4"/>
5662
</pentry>
57-
<pentry minsize="1" maxsize="4" extension="inttype">
63+
<pentry minsize="1" maxsize="4">
5864
<register name="d5"/>
5965
</pentry>
60-
<pentry minsize="1" maxsize="4" extension="inttype">
66+
<pentry minsize="5" maxsize="8"> <!-- This is the first >4 byte non pointer -->
67+
<register name="e4"/>
68+
</pentry>
69+
<pentry minsize="1" maxsize="4">
6170
<register name="d6"/>
6271
</pentry>
63-
<pentry minsize="1" maxsize="4" extension="inttype">
72+
<pentry minsize="1" maxsize="4">
6473
<register name="d7"/>
6574
</pentry>
66-
<pentry minsize="5" maxsize="8"> <!-- This is the first >4 byte non pointer -->
67-
<register name="e4"/>
68-
</pentry>
6975
<pentry minsize="5" maxsize="8">
7076
<register name="e6"/>
7177
</pentry>
7278
<pentry minsize="1" maxsize="500" align="4">
7379
<addr offset="0" space="stack"/>
7480
</pentry>
81+
<rule>
82+
<datatype name="struct" minsize="17"/>
83+
<convert_to_ptr/>
84+
</rule>
7585
</input>
7686

7787
<output>
7888
<pentry minsize="4" maxsize="4" metatype="ptr">
7989
<register name="a2"/>
8090
</pentry>
81-
<pentry minsize="1" maxsize="8" extension="inttype">
91+
<pentry minsize="1" maxsize="4">
92+
<register name="d2"/>
93+
</pentry>
94+
<pentry minsize="5" maxsize="8">
8295
<register name="e2"/>
8396
</pentry>
8497
</output>

0 commit comments

Comments
 (0)