<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54960>54960</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            "-mlongcall" is not effective in ppc64
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          UmeshKalappa0
      </td>
    </tr>
</table>

<pre>
    For the following code ,

#include<stdlib.h>
#include<math.h>
int callcos(int loops)
{
    int i;
    double x = 0.0;

    for (i = 0; i < loops; ++i) {
        x += cos(2.44);
     printf("Test "); 
     
    }   
    return(x < 100.4);
}

and command-line used 
/folk/prj-rust-dev/umesh/latest_vxworks/vxworks_22.06/compilers/llvm-12.0.1.2/LINUX64/bin/clang -mcpu=e6500 -mno-altivec -D_VX_CPU=_VX_PPCE6500 -mlong-double-64 -mhard-float -mabi=elfv2 -D__ppc -D__ppc__ -m64 -D__ppc64__  --target=ppc64 -mcmodel=medium -fno-strict-aliasing -ftls-model=local-exec -fno-builtin -fno-unwind-tables -fno-asynchronous-unwind-tables -nostdlibinc -nostdinc++  -Wno-unused-command-line-argument  -mlongcall -S   

call to cos was relatively even used "-mlongcall". like 
        addis 3, 2, .LCPI0_2@toc@ha
        lfd 1, .LCPI0_2@toc@l(3)
        bl cos 
        nop 
and not the case for printf like 
       addis 3, 2, .L.str@toc@ha
        addi 3, 3, .L.str@toc@l
        addis 4, 2, .LC0@toc@ha
        ld 4, .LC0@toc@l(4)
        mr      12, 4
        mtctr 4
        bctrl

We think its the llvm issue (inconsistent)  and needs to be fixed .

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1VFuP2yoQ_jXOC8LC-NLkwQ9t0kjVqY5WOmdP-xZhg2O6GCzA2ey_PwN2Nsk2jSLDXBg-Zr6ZxvC3em8s8r1AnVHKvEp9RK3hAiV0m5BdQj4vX5pL3aqJiyTfOs-VbNI-yb8-sA7M9zc2qT1qmVKtcQldB0kZM8J-s5z99GXeIPgFs0zyGw03U6MEOqMk3yGSknfj1aWDF4TQsws4oLDdLveAmNAv8JdwJbq7LfzO0QoHZ3w0LYoA7RYCGi3g6sCaUPqvcB6O0NkJ3Xhdt8mn3Z1shZ-shvPniCsjJL27BPxv38Q0BzTDACtWUgs0OcHRJdN7KNQLLKP9he3kPObiBOI0CNfDqpgHhIfT-dXYF3jRftkdKE1JBTJEHqUSNtiUOg04A0OapfCi_fdvfz__rADbvpE6-CoGfMBDO06QIlGVhICkDWbKy5NoEd4d_vt52D49gznsnp62XxcvZfQRz9XDVQGKnlmOO2WYB4E1MkRU3YmGIIdxbC_r4QD2cGIWqwIUCGPP7FF4OBR1AdQAPFWgGASX04BwB8Cct7L1gE8yF7iMO68cvngqA0zE4hyQB-9mkvAQPQuTBvZzuAcQu1nF3Jtue2u0mdxHuzZzGwDxFwF2M9MA7o8YMBQO35YSwyOgUsDyJUOhMxD-550u8zdqvQmcRK_MAYGgrJBw9YbESeiFEJReY4CQIiVfBLqnN-NcOpRDNyMaPun37dM3cqBJQbxp4duz-wOq4yh76Al3rPP3tr34NyqivFdqM6Irl7XxccK0zInYrHM_PYD7O9oUCvpHrMF99s4feKtHmShuM0H-nAU-e945hQQUvyVgsPOaxajFB6Nvvf2obECnbsv9Q0B-pH5B0ruYqdCXSDo3iTjYdGu0k84Db8IMQzGpQnAXONJATuUZ-JDOwVa8zvkm37CVl16J-iNNIG6siOg60QZSwdBFsadWk1V1730YmmHQwP8ofT81KVB4mRaXoTFa8wuOgxhhhmFSFpuKrPq6zLoq23RtVeWZ2DTlJutKzlsC11Vl1-YrxRqhXJ2U0CtUi9f5pWGmlruVrCmhlBTZmmzyHCYl5cWa0HJd0oyKJmdQCDEwqdKAIzX2uLJ1hNRMRxeqBIlyVyNzTh4hWfE6iM8m3xtbP4dx-RdTbBwZWUUAdXzA_zFrD4Y">