pro64-support
[Top] [All Lists]

Re: loop-unrolling bug ?

To: raya <raya@xxxxxxxxxxxxxxxxxxxxx>, pro64 <pro64-support@xxxxxxxxxxx>
Subject: Re: loop-unrolling bug ?
From: "Ross A. Towle" <rat@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 13 Nov 2000 10:23:16 -0800
In-reply-to: raya <raya@wisdom.weizmann.ac.il> "loop-unrolling bug ?" (Nov 12, 12:01pm)
References: <3A0E6A7A.C3963A73@wisdom.weizmann.ac.il>
Sender: owner-pro64-support@xxxxxxxxxxx
On Nov 12, 12:01pm, raya wrote:
> Subject: loop-unrolling bug ?
>
> Hello,
>
> Enclosed is a c source and the assembly output of a small c loop.
> The first instruction of the loop (label: BB6_main) is:
>     ls4 r33=[r36].
> To my understanding, "r36" is not initialized in the first time the loop
> is executed, (no reg rotation was done at this stage). To my
> understanding pr17 is set to "1" in the first execution of the loop. Am
> I worng?

Yes you are mistaken.  This loop is using rotating registers.  On the
initial iteration p16 is true an the others are false. This is done
 outside the loop by mov pr.rot=65536

-Ross


>
> Thanks,
> --
> Raya Leviathan
> Tel. 972-8-9344208 (office)
> Tel. 972-3-6358481 (home)
> Email: raya@xxxxxxxxxxxxxxxxxxxxx
>
>
> [ Attachment (application/x-unknown-content-type-c_auto_file):
"modulo-scheduling.c" 121 bytes
>   Encoded with "base64" ]
>
> [ Attachment (application/x-unknown-content-type-S_auto_file):
"modulo-scheduling_1.s" 13947 bytes
>   Encoded with "base64" ]
>
> [ text/plain ] :
>
> sgicc WARNING:  modulo-scheduling_1.s modulo-scheduling_1.s will overwrite a
file that has a source-file suffix
> SGIcc Compilers: Version 0.01.0-9
> /usr/bin/gcc -D_LANGUAGE_C -D_SGI_COMPILER_VERSION=001 -D__host_ia32
-D__INLINE_INTRINSICS -v -D__OPTIMIZE__ -D_LP64 -D__ia64=1 modulo-scheduling.c
-E > /tmp/cci.Uy7Kof
> Reading specs from /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/specs
> gcc version 2.9-ia64-000216 snap-000324
>  /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/cpp -lang-c -v -isystem
/usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/include -D__GNUC__=2
-D__GNUC_MINOR__=9 -D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG
-Dlinux -Dunix -D__LP64__ -D__ELF__ -D__ia64 -D__ia64__ -D__linux -D__linux__
-D_LONGLONG -D__linux__ -D__unix__ -D__LP64__ -D__ELF__ -D__linux -D__unix
-Asystem(linux) -Acpu(ia64) -Amachine(ia64) -D__LONG_MAX__=9223372036854775807L
-D_LANGUAGE_C -D_SGI_COMPILER_VERSION=001 -D__host_ia32 -D__INLINE_INTRINSICS
-D__OPTIMIZE__ -D_LP64 -D__ia64=1 modulo-scheduling.c
> GNU CPP version 2.9-ia64-000216 snap-000324 (IA-64)
> #include "..." search starts here:
> #include <...> search starts here:
>  /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/include
>  /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/include
>  
> /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/../../../../ia64-hp-linux/include
> End of search list.
> The following default directories have been omitted from the search path:
>  /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/../../../../include/g++-3
>  
> /usr/lib/gcc-lib/ia64-hp-linux/2.9-ia64-000216/../../../../ia64-hp-linux/sys-include
> End of omitted list.
> /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/gfec -O3 -g3 -dx -version -quiet
-dumpbase modulo-scheduling.c /tmp/cci.Uy7Kof -o /tmp/ccB.qIKHmm
> GNU C version sgicc-1.0 (ia64-linux) compiled by GNU C version 2.95.2
19991024 (release).
> /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/be -PHASE:l:w:c -G8 -TENV:PIC -m1
-INTERNAL:return_val=on -INTERNAL:mldid_mstid=on -INTERNAL:return_info=on -show
-O3 -g3 -TARG:abi=i64 -LANG:=ansi_c -fB,/tmp/ccB.qIKHmm -s
-fs,modulo-scheduling_1.s modulo-scheduling.c
> Compiling modulo-scheduling.c (/tmp/ccB.qIKHmm) -- Back End
> Compiling main(0)
>
>-- End of excerpt from raya



<Prev in Thread] Current Thread [Next in Thread>