<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S32 Design StudioのトピックRe: S32DS / e200z4 hard floats working? (MPC5746R)</title>
    <link>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706057#M1864</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can answer my own question here.&lt;/P&gt;&lt;P&gt;I hadn't used floats on an embedded platform before and didn't realise that the compiler is automatically treating 1.2345 in my example as 'double' not 'float'. Using 1.2345f instead lets the compiler use the hardware single precision floating point instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding &lt;CODE&gt;-Wdouble-promotion&lt;/CODE&gt; to the compiler flags warns of the original coding error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Oct 2017 20:10:47 GMT</pubDate>
    <dc:creator>jamesmurray</dc:creator>
    <dc:date>2017-10-13T20:10:47Z</dc:date>
    <item>
      <title>S32DS / e200z4 hard floats working? (MPC5746R)</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706056#M1863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I might be missing something here, but I don't seem to be able to get S32DS for Power v1.2&amp;nbsp; to actually use hardware floating point maths.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created the most basic project and made sure that "Use Hardware Floating Point" is ticked, but there are no recognisable floating point instructions in the disassembly.&lt;/P&gt;&lt;P&gt;Unticking, making clean and rebuilding generates output that is exactly the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My source:&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;#include "derivative.h" /* include peripheral declarations */&lt;/P&gt;&lt;P&gt;extern void xcptn_xmpl(void);&lt;/P&gt;&lt;P&gt;volatile float test;&lt;/P&gt;&lt;P&gt;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;volatile int counter = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xcptn_xmpl ();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure and Enable Interrupts */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Loop forever */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(;;) {&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;counter++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;test = counter * 1.2345;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Disassembly snippet 1:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test = counter * 1.2345;&lt;BR /&gt;&amp;nbsp;1003826:&amp;nbsp;&amp;nbsp; &amp;nbsp;c2 7f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_lwz&amp;nbsp; r7,8(r31)&lt;BR /&gt;&amp;nbsp;1003828:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r3,r7&lt;BR /&gt;&amp;nbsp;100382a:&amp;nbsp;&amp;nbsp; &amp;nbsp;79 ff fa a3 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_bl&amp;nbsp;&amp;nbsp;&amp;nbsp; 10032cc &amp;lt;__floatsidf&amp;gt;&lt;BR /&gt;&amp;nbsp;100382e:&amp;nbsp;&amp;nbsp; &amp;nbsp;02 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mtar r8,r4&lt;BR /&gt;&amp;nbsp;1003830:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r7,r3&lt;BR /&gt;&amp;nbsp;1003832:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r3,r7&lt;BR /&gt;&amp;nbsp;1003834:&amp;nbsp;&amp;nbsp; &amp;nbsp;03 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mfar r4,r8&lt;BR /&gt;&amp;nbsp;1003836:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 a7 e7 f3 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_lis&amp;nbsp;&amp;nbsp; r5,16371&lt;BR /&gt;&amp;nbsp;100383a:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 b8 c0 83 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_or2i&amp;nbsp; r5,49283&lt;BR /&gt;&amp;nbsp;100383e:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 c2 e2 6e &amp;nbsp;&amp;nbsp; &amp;nbsp;e_lis&amp;nbsp;&amp;nbsp; r6,4718&lt;BR /&gt;&amp;nbsp;1003842:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 d2 c7 8d &amp;nbsp;&amp;nbsp; &amp;nbsp;e_or2i&amp;nbsp; r6,38797&lt;BR /&gt;&amp;nbsp;1003846:&amp;nbsp;&amp;nbsp; &amp;nbsp;79 ff f8 23 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_bl&amp;nbsp;&amp;nbsp;&amp;nbsp; 1003068 &amp;lt;__muldf3&amp;gt;&lt;BR /&gt;&amp;nbsp;100384a:&amp;nbsp;&amp;nbsp; &amp;nbsp;02 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mtar r8,r4&lt;BR /&gt;&amp;nbsp;100384c:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r7,r3&lt;BR /&gt;&amp;nbsp;100384e:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r3,r7&lt;BR /&gt;&amp;nbsp;1003850:&amp;nbsp;&amp;nbsp; &amp;nbsp;03 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mfar r4,r8&lt;BR /&gt;&amp;nbsp;1003852:&amp;nbsp;&amp;nbsp; &amp;nbsp;79 ff fa fb &amp;nbsp;&amp;nbsp; &amp;nbsp;e_bl&amp;nbsp;&amp;nbsp;&amp;nbsp; 100334c &amp;lt;__truncdfsf2&amp;gt;&lt;BR /&gt;&amp;nbsp;1003856:&amp;nbsp;&amp;nbsp; &amp;nbsp;01 36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mr&amp;nbsp;&amp;nbsp; r6,r3&lt;BR /&gt;&amp;nbsp;1003858:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 e8 e0 00 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_lis&amp;nbsp;&amp;nbsp; r7,16384&lt;BR /&gt;&amp;nbsp;100385c:&amp;nbsp;&amp;nbsp; &amp;nbsp;54 c7 00 20 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_stw&amp;nbsp;&amp;nbsp; r6,32(r7)&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Disassembly snippet 2:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;010032cc &amp;lt;__floatsidf&amp;gt;:&lt;BR /&gt;__floatsidf():&lt;BR /&gt;&amp;nbsp;10032cc:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 21 06 d8 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_stwu&amp;nbsp; r1,-40(r1)&lt;BR /&gt;&amp;nbsp;10032d0:&amp;nbsp;&amp;nbsp; &amp;nbsp;00 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mflr r0&lt;BR /&gt;&amp;nbsp;10032d2:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c 67 fc 70 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_srwi&amp;nbsp; r7,r3,31&lt;BR /&gt;&amp;nbsp;10032d6:&amp;nbsp;&amp;nbsp; &amp;nbsp;48 36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_li&amp;nbsp;&amp;nbsp; r6,3&lt;BR /&gt;&amp;nbsp;10032d8:&amp;nbsp;&amp;nbsp; &amp;nbsp;db 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r0,44(r1)&lt;BR /&gt;&amp;nbsp;10032da:&amp;nbsp;&amp;nbsp; &amp;nbsp;d2 61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r6,8(r1)&lt;BR /&gt;&amp;nbsp;10032dc:&amp;nbsp;&amp;nbsp; &amp;nbsp;d3 71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r7,12(r1)&lt;BR /&gt;&amp;nbsp;10032de:&amp;nbsp;&amp;nbsp; &amp;nbsp;2a 03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_cmpi r3,0&lt;BR /&gt;&amp;nbsp;10032e0:&amp;nbsp;&amp;nbsp; &amp;nbsp;7a 02 00 1a &amp;nbsp;&amp;nbsp; &amp;nbsp;e_bne&amp;nbsp;&amp;nbsp; 10032fa &amp;lt;__floatsidf+0x2e&amp;gt;&lt;BR /&gt;&amp;nbsp;10032e4:&amp;nbsp;&amp;nbsp; &amp;nbsp;48 27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_li&amp;nbsp;&amp;nbsp; r7,2&lt;BR /&gt;&amp;nbsp;10032e6:&amp;nbsp;&amp;nbsp; &amp;nbsp;d2 71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r7,8(r1)&lt;BR /&gt;&amp;nbsp;10032e8:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 61 80 08 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_addi&amp;nbsp; r3,r1,8&lt;BR /&gt;&amp;nbsp;10032ec:&amp;nbsp;&amp;nbsp; &amp;nbsp;78 00 01 11 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_bl&amp;nbsp;&amp;nbsp;&amp;nbsp; 10033fc &amp;lt;__pack_d&amp;gt;&lt;BR /&gt;&amp;nbsp;10032f0:&amp;nbsp;&amp;nbsp; &amp;nbsp;cb 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_lwz&amp;nbsp; r0,44(r1)&lt;BR /&gt;&amp;nbsp;10032f2:&amp;nbsp;&amp;nbsp; &amp;nbsp;00 90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_mtlr r0&lt;BR /&gt;&amp;nbsp;10032f4:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 21 80 28 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_addi&amp;nbsp; r1,r1,40&lt;BR /&gt;&amp;nbsp;10032f8:&amp;nbsp;&amp;nbsp; &amp;nbsp;00 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_blr&lt;BR /&gt;&amp;nbsp;10032fa:&amp;nbsp;&amp;nbsp; &amp;nbsp;2a 07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_cmpi r7,0&lt;BR /&gt;&amp;nbsp;10032fc:&amp;nbsp;&amp;nbsp; &amp;nbsp;7a 12 00 0e &amp;nbsp;&amp;nbsp; &amp;nbsp;e_beq&amp;nbsp;&amp;nbsp; 100330a &amp;lt;__floatsidf+0x3e&amp;gt;&lt;BR /&gt;&amp;nbsp;1003300:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 03 ab 80 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_cmpi&amp;nbsp; cr0,r3,-2147483648&lt;BR /&gt;&amp;nbsp;1003304:&amp;nbsp;&amp;nbsp; &amp;nbsp;7a 12 00 3e &amp;nbsp;&amp;nbsp; &amp;nbsp;e_beq&amp;nbsp;&amp;nbsp; 1003342 &amp;lt;__floatsidf+0x76&amp;gt;&lt;BR /&gt;&amp;nbsp;1003308:&amp;nbsp;&amp;nbsp; &amp;nbsp;00 33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_neg&amp;nbsp; r3&lt;BR /&gt;&amp;nbsp;100330a:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c 67 00 34 &amp;nbsp;&amp;nbsp; &amp;nbsp;cntlzw&amp;nbsp; r7,r3&lt;BR /&gt;&amp;nbsp;100330e:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c 65 0c 70 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_srwi&amp;nbsp; r5,r3,1&lt;BR /&gt;&amp;nbsp;1003312:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 c7 84 fd &amp;nbsp;&amp;nbsp; &amp;nbsp;e_addi&amp;nbsp; r6,r7,-3&lt;BR /&gt;&amp;nbsp;1003316:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 87 80 1d &amp;nbsp;&amp;nbsp; &amp;nbsp;e_addi&amp;nbsp; r4,r7,29&lt;BR /&gt;&amp;nbsp;100331a:&amp;nbsp;&amp;nbsp; &amp;nbsp;2a 06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_cmpi r6,0&lt;BR /&gt;&amp;nbsp;100331c:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c 60 30 30 &amp;nbsp;&amp;nbsp; &amp;nbsp;slw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,r3,r6&lt;BR /&gt;&amp;nbsp;1003320:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 e7 b0 1f &amp;nbsp;&amp;nbsp; &amp;nbsp;e_subfic r7,r7,31&lt;BR /&gt;&amp;nbsp;1003324:&amp;nbsp;&amp;nbsp; &amp;nbsp;18 c4 b0 1f &amp;nbsp;&amp;nbsp; &amp;nbsp;e_subfic r6,r4,31&lt;BR /&gt;&amp;nbsp;1003328:&amp;nbsp;&amp;nbsp; &amp;nbsp;42 43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_slw&amp;nbsp; r3,r4&lt;BR /&gt;&amp;nbsp;100332a:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c a6 34 30 &amp;nbsp;&amp;nbsp; &amp;nbsp;srw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r6,r5,r6&lt;BR /&gt;&amp;nbsp;100332e:&amp;nbsp;&amp;nbsp; &amp;nbsp;d4 71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r7,16(r1)&lt;BR /&gt;&amp;nbsp;1003330:&amp;nbsp;&amp;nbsp; &amp;nbsp;48 05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_li&amp;nbsp;&amp;nbsp; r5,0&lt;BR /&gt;&amp;nbsp;1003332:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c c6 00 1e &amp;nbsp;&amp;nbsp; &amp;nbsp;isellt&amp;nbsp; r6,r6,r0&lt;BR /&gt;&amp;nbsp;1003336:&amp;nbsp;&amp;nbsp; &amp;nbsp;7c 63 28 1e &amp;nbsp;&amp;nbsp; &amp;nbsp;isellt&amp;nbsp; r3,r3,r5&lt;BR /&gt;&amp;nbsp;100333a:&amp;nbsp;&amp;nbsp; &amp;nbsp;d6 61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r6,24(r1)&lt;BR /&gt;&amp;nbsp;100333c:&amp;nbsp;&amp;nbsp; &amp;nbsp;d7 31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_stw&amp;nbsp; r3,28(r1)&lt;BR /&gt;&amp;nbsp;100333e:&amp;nbsp;&amp;nbsp; &amp;nbsp;79 ff ff aa &amp;nbsp;&amp;nbsp; &amp;nbsp;e_b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10032e8 &amp;lt;__floatsidf+0x1c&amp;gt;&lt;BR /&gt;&amp;nbsp;1003342:&amp;nbsp;&amp;nbsp; &amp;nbsp;70 78 e1 e0 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_lis&amp;nbsp;&amp;nbsp; r3,49632&lt;BR /&gt;&amp;nbsp;1003346:&amp;nbsp;&amp;nbsp; &amp;nbsp;48 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;se_li&amp;nbsp;&amp;nbsp; r4,0&lt;BR /&gt;&amp;nbsp;1003348:&amp;nbsp;&amp;nbsp; &amp;nbsp;79 ff ff a8 &amp;nbsp;&amp;nbsp; &amp;nbsp;e_b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10032f0 &amp;lt;__floatsidf+0x24&amp;gt;&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to VLEPEM.pdf, I was expecting to see opcodes:&lt;/P&gt;&lt;P&gt;efsXXXX or efdXXXX for hardware floating point instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also disassembled many of the libraries that are installed (libgcc.a) and wasn't able to find one that included any of those either - they all appeared to be using that slow software implementation shown above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also,&lt;/P&gt;&lt;P&gt;- is there a core reference manual for e200z425n3?&lt;/P&gt;&lt;P&gt;- is there an accurate VLE reference manual that includes all opcodes that S32DS is using? (isellt above is missing from VLEPEM.pdf)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Oct 2017 12:15:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706056#M1863</guid>
      <dc:creator>jamesmurray</dc:creator>
      <dc:date>2017-10-13T12:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: S32DS / e200z4 hard floats working? (MPC5746R)</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706057#M1864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can answer my own question here.&lt;/P&gt;&lt;P&gt;I hadn't used floats on an embedded platform before and didn't realise that the compiler is automatically treating 1.2345 in my example as 'double' not 'float'. Using 1.2345f instead lets the compiler use the hardware single precision floating point instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding &lt;CODE&gt;-Wdouble-promotion&lt;/CODE&gt; to the compiler flags warns of the original coding error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Oct 2017 20:10:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706057#M1864</guid>
      <dc:creator>jamesmurray</dc:creator>
      <dc:date>2017-10-13T20:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: S32DS / e200z4 hard floats working? (MPC5746R)</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706058#M1865</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi James,&lt;/P&gt;&lt;P&gt;You are right. Thanks for sharing the solution!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BTW: if you are interested in the optimized production grade single precision math routines you can possibly use AMMCLIBs &amp;nbsp;(&lt;A class="link-titled" href="https://www.nxp.com/pages/automotive-math-and-motor-control-library-set:AUTOMATH_MCL" title="https://www.nxp.com/pages/automotive-math-and-motor-control-library-set:AUTOMATH_MCL"&gt;Automotive Math and Motor Control Library Set|NXP&lt;/A&gt;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd recommend you to install the &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-335362"&gt;latest S32DS Power update&lt;/A&gt; which includes ammclib v1.1.9 libs plus new project wizard integration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_289.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/33241i66966A73724C7461/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_289.png" alt="pastedImage_289.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Oct 2017 12:10:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/S32DS-e200z4-hard-floats-working-MPC5746R/m-p/706058#M1865</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2017-10-16T12:10:26Z</dc:date>
    </item>
  </channel>
</rss>

