Emission of store_multiple and load_multiple patterns

Ian Lance Taylor iant@google.com
Mon Feb 1 22:19:00 GMT 2010


noeljohn <noel.daniel@gmx.com> writes:

> This is the arm assembly for the c program:
> void main()
>
> {
>
> int a[5]={6,9,5,6,8};
>
> a[3]=a[2] & a[4];
>
> }
>
> The section below is the one which needs to be generated for the machine
> which I am working for.
>
> 	.section	.rodata
> 	.align	2
> 	.type	C.0.1175, %object
> 	.size	C.0.1175, 20
> C.0.1175:
> 	.word	6
> 	.word	9
> 	.word	5
> 	.word	6
> 	.word	8
>  
> Similar section is seen for the assembly generated by the machine powerpc.
> How can it be generated?

Thanks for the example.  This is controlled by the cost of moving the
structure piece by piece.  See MOVE_MAX, MAX_MOVE_MAX,
MOVE_MAX_PIECES, and MOVE_BY_PIECES_P in the internals manual.

Ian



More information about the Gcc-help mailing list