[LLVMdev] neon registers llvm using

Tim Northover t.p.northover at gmail.com
Mon Mar 10 10:55:36 PDT 2014


Hi Shaolin,

On 10 March 2014 13:43, shaolin <shaolin.wu at qq.com> wrote:
> For example, d10 and d11 are treated as default zero? I am using Xcode5 +
> llvm and I got a case that compiler will generate neon codes
>     " vst.8 {d10, d11}, [r1] "
> from C codes:
>     "int aMV[4];
>      ......
>      aMV[0] = aMV[1] = aMV[2] = aMV[3] = 0; "

When I compile similar code, I see:

    vmov.i32 q8, #0x0
    [...]
    vst1.32 { d16, d17 }, [r0]

Are you aware that the q0 == d1:d0 == s3:s2:s1:s0, q1 == d2:d1 ==
s7:s6:s5:s4, ...? So in my case, that vmov to q8 actually sets d16 and
d17.

If you're not seeing similar, could you post a reasonably small
self-contained example that shows your problem?

Cheers.

Tim.



More information about the llvm-dev mailing list