Files
ghintern d91aebe74e GP-4030: Fix MIPS base and eabi 32/64-bit cspecs
GP-4029: Update base PowerPC 32/64-bit cspecs
2025-08-25 19:15:08 +00:00

164 lines
4.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<compiler_spec>
<global>
<range space="ram"/>
</global>
<stackpointer register="r1" space="ram"/>
<default_proto>
<prototype name="__stdcall" extrapop="0" stackshift="0">
<input pointermax="8">
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f1"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f2"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f3"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f4"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f5"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f6"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f7"/>
</pentry>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f8"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r3"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r4"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r5"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r6"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r7"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r8"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r9"/>
</pentry>
<pentry minsize="1" maxsize="4">
<register name="r10"/>
</pentry>
<pentry minsize="1" maxsize="500" align="4">
<addr offset="8" space="stack"/>
</pentry>
<rule>
<datatype name="float"/>
<consume storage="float"/>
</rule>
<rule>
<datatype name="float"/>
<goto_stack/>
</rule>
<rule>
<datatype name="struct"/>
<convert_to_ptr/>
</rule>
<rule>
<datatype name="union"/>
<convert_to_ptr/>
</rule>
<rule>
<datatype name="any"/>
<join align="true"/>
</rule>
</input>
<output>
<pentry minsize="1" maxsize="8" metatype="float" extension="float">
<register name="f1"/>
</pentry>
<pentry minsize="1" maxsize="4" extension="inttype">
<register name="r3"/>
</pentry>
<pentry minsize="1" maxsize="4" extension="inttype">
<register name="r4"/>
</pentry>
<rule>
<datatype name="float"/>
<consume storage="float"/>
</rule>
<rule>
<datatype name="any"/>
<join/>
</rule>
</output>
<unaffected>
<register name="r1"/> <!-- stack pointer -->
<register name="r2"/> <!-- _SDA2_BASE_ -->
<register name="r13"/> <!-- _SDA_BASE_ -->
<register name="r14"/>
<register name="r15"/>
<register name="r16"/>
<register name="r17"/>
<register name="r18"/>
<register name="r19"/>
<register name="r20"/>
<register name="r21"/>
<register name="r22"/>
<register name="r23"/>
<register name="r24"/>
<register name="r25"/>
<register name="r26"/>
<register name="r27"/>
<register name="r28"/>
<register name="r29"/>
<register name="r30"/>
<register name="r31"/>
<register name="f14"/>
<register name="f15"/>
<register name="f16"/>
<register name="f17"/>
<register name="f18"/>
<register name="f19"/>
<register name="f20"/>
<register name="f21"/>
<register name="f22"/>
<register name="f23"/>
<register name="f24"/>
<register name="f25"/>
<register name="f26"/>
<register name="f27"/>
<register name="f28"/>
<register name="f29"/>
<register name="f30"/>
<register name="f31"/>
<register name="cr2"/>
<register name="cr3"/>
<register name="cr4"/>
</unaffected>
<killedbycall>
<register name="r3"/>
<register name="r4"/>
<register name="f1"/>
</killedbycall>
</prototype>
</default_proto>
<callfixup name="get_pc_thunk_lr">
<target name="__get_pc_thunk_lr"/>
<pcode>
<body><![CDATA[
LR = inst_dest + 4;
]]></body>
</pcode>
</callfixup>
</compiler_spec>