Hi, All Sorry for my previous post. It was into wrong place.
There is minimal reproducer for cpu2006/h264ref is attached use gcc -O2 -c ./image.c Compiler from trunk produces: image.c: In function 'UnifiedOneForthPix': image.c:35: internal compiler error: in set_value_range, at tree-vrp.c:267 -Vladimir On 3/4/07, Grigory Zagorodnev <[EMAIL PROTECTED]> wrote:
Grigory Zagorodnev wrote: > Trunk GCC shows massive (2 compile-time and 6 run-time) failures on SPEC > CPU2000 and CPU2006 at i386 and x86_64 on -O2 optimization level. > Regression introduced somewhere between revision 122487 and 122478. > > http://gcc.gnu.org/viewcvs?view=rev&revision=122487 Almost all regressions are due to r122487 cpu2006: 403.gcc 416.gamess 434.zeusmp 464.h264ref 465.tonto cpu2000: 178.galgel 186.crafty > http://gcc.gnu.org/viewcvs?view=rev&revision=122484 cpu2006/447.dealII is due to revision 122484. I'll bring more information and try to get minimal reproducers at Monday. - Grigory
typedef unsigned char byte; //!< byte type definition #define max(a, b) (((a) > (b)) ? (a) : (b)) #define min(a, b) (((a) < (b)) ? (a) : (b)) typedef long long int64; #define imgpel unsigned short #define pel_t imgpel #define IMG_PAD_SIZE 4 //!< Number of pixels padded around the reference frame (>=4) #define MAX_LIST_SIZE 33 #define imgpel unsigned short int **img4Y_tmp; //!< for quarter pel interpolation typedef struct storable_picture { int size_x, size_y; imgpel ** imgY; //!< Y picture component } StorablePicture; const int ONE_FOURTH_TAP[3][2] = { {20,20}, {-5,-4}, { 1, 0}, }; void UnifiedOneForthPix (StorablePicture *s) { int i, j, jj,is; imgpel **imgY = s->imgY; for (i = -IMG_PAD_SIZE; i < s->size_x + IMG_PAD_SIZE; i++) { is = (ONE_FOURTH_TAP[0][0] * (imgY[jj][max (0, min (s->size_x - 1, i))] + imgY[jj][max (0, min (s->size_x - 1, i + 1))]) + ONE_FOURTH_TAP[1][0] * (imgY[jj][max (0, min (s->size_x - 1, i - 1))] + imgY[jj][max (0, min (s->size_x - 1, i + 2))]) + ONE_FOURTH_TAP[2][0] * (imgY[jj][max (0, min (s->size_x - 1, i - 2))] + imgY[jj][max (0, min (s->size_x - 1, i + 3))])); img4Y_tmp[j + IMG_PAD_SIZE][(i + IMG_PAD_SIZE) * 2 + 1] = is * 32; // 1/2 pix pos } }