Vectorizing C compilers

Tim Moore moore%cdr.utah.edu at wasatch.utah.edu
Wed Jul 19 03:18:35 AEST 1989


In article <15388 at ut-emx.UUCP> eric at chaos.utexas.edu () writes:
}
}What is the state of the art regarding vectorizing C compilers 
}for Crays and other "minisuper" machines like Alliant, Convex, etc.?  

A good reference is:
Allen, R., Johnson, S., "Compiling C for Vectorization,
Parallelization, and Inline Expansion", Proceedings of the SIGPLAN '88
Conference on Programming Language Design and Implementation, Atlanta,
Georgia, June 22-24, 1988.

It describes the technology used in Ardent Computer's vectorizing C compiler.

}I have seen one or two C compilers (on a Unicos Cray) that vectorize
}loops like
}
}	for(j = 0; j < n; j++)
}		y[j] = x[j] + z[j];
}
}but never a C compiler that can vectorize something like
}
}	for(j = 0; j < n; j++)
}		y[j] = sqrt(x[j]);
}
}even where a suitable Fortran mathematical library is available.

I believe Ardent's compiler would vectorize the second example. It
does large amounts of inlining, and then vectorizes the resulting code.

}--Eric Kostelich


Tim Moore                     moore at cs.utah.edu {ut-sally,hplabs}!utah-cs!moore
"Ah, youth. Ah, statute of limitations."
		-John Waters



More information about the Comp.lang.c mailing list