On 3/27/15 08:05, Chen Gang wrote:
> For misalignment memory access, c6x gcc will cause issue, so need remove
> "clobber (match_scratch ...)" which will be symmetric with "movmisalign
> <mode>_load", then pass compiling and generate correct assembly code.
> 
> The related issue:
> 
>   [root@localhost c6x]# cat test.i
>   int oxu_driver_init(void)
>   {
>    *(volatile unsigned int *)(-1) = *(unsigned int *)(-1);

Oh, sorry, I use 11 instead of -1 for generating the assembly code (-1
and 11 lead the same result).

[...]

>   oxu_driver_init:
>                 mvk     .d1     11, A4
>                 ldnw    .d1t1   *A4, A3
>                 nop     4
>                 stnw    .d1t1   A3, *A4
>                 ret     .s2     B3
>                 nop     5
>         .size   oxu_driver_init, .-oxu_driver_init
>         .ident  "GCC: (GNU) 5.0.0 20150321 (experimental)"
> 
[...]

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

Reply via email to