I am using gcc 4.4.5. I have looked into unroll_loop_runtime_iterations. Can you please tell me how to change this code to enable unrolling by all factors? Ian Lance Taylor-3 wrote: > > dibstar <dibyam4@xxxxxxxxx> writes: > >> I wish to force gcc to unroll both the constant time iterating >> loops >> and the runtime iterating loops as outlined in loop-unroll.c. I modified >> the >> loop-unroll.c to place all unrolling decisions in the function >> decide-unroll-and-peel. I also made gcc interact with the user by asking >> the >> user the function name that which contains the desired loop and the loop >> number and the desired unroll factor. This seems to be fine for unrolling >> constant time iterating loops, i.e. i am able to unroll these loops by >> all >> factors from 1 to 8. However, for runtime loops, i get a segmentation >> fault. >> I analysed the code and found that gcc assumes that the unroll factor is >> a >> power of 2 for runtime loops. I wish to change this and force gcc to >> unroll >> a particular loop by all factors from 1 to 8. How can I do this? > > What version of gcc? > > I assume you mean decide_unrolling_and_peeling rather than > decide-unroll-and-peel. > > I agree that the code assumes that the unroll factor is a power of 2. > If you want to use a different factor, you will have to change the code. > Are you asking how to do that? Look in unroll_loop_runtime_iterations. > It uses AND; as the comment explains, that only works because it is > unrolling by a power of 2. If you want something else to work, you will > need to change that. > > Ian > > -- View this message in context: http://old.nabble.com/FORCING-GCC-TO-UNROLL-LOOPS-tp33455948p33462962.html Sent from the gcc - Help mailing list archive at Nabble.com.