This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the EGCS project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gcc-2.95+alpha-ev6+RH6.0=failure


Thank you.  I have now installed binutils-2.9.5.03 and that problem
seems to be fixed.

However, now I get another problem.  When I compile the routine

int nantest3(long ___r1, long ___r2) {
  double ___F64R1, ___F64R2;
  ___F64R1 = (*(double *) ((((long *) (___r1 - 1)) + 1))); /* PROBLEM */
  if ((___F64R1 != ___F64R1))
    {
      return 1;
    }
  ___F64R2 = (*(double *) ((((long *) (___r2 - 1)) + 1)));
  if ((___F64R2 != ___F64R2))
    {
      return 2;
    }
  return 3;
}

with the command:

gcc -g -mieee -O1 -mcpu=ev6 -fno-strict-aliasing -S 

then it does not generate ieee standard opcodes, i.e., it generates
cmpteq rather than cmpteqsu followed by trapb.  Since my application
does work with NaNs, this generates an arithmetic exception at runtime.

The code that is generated is at the end of this message.

Brad Lucier     lucier@math.purdue.edu

ile	1 "nantest3.c"
	.set noat
	.set noreorder
	.arch ev6
.stabs "/home/c/lucier/programs/gambc30/popov/gambc30/test/",100,0,0,$Ltext0
.stabs "nantest3.c",100,0,0,$Ltext0
.text
$Ltext0:
.stabs "int:t1=r1;-2147483648;2147483647;",128,0,0,0
.stabs "char:t2=r2;0;127;",128,0,0,0
.stabs "long int:t3=r1;001000000000000000000000;000777777777777777777777;",128,0,0,0
.stabs "unsigned int:t4=r4;0;4294967295;",128,0,0,0
.stabs "long unsigned int:t5=r1;000000000000000000000000;001777777777777777777777;",128,0,0,0
.stabs "long long int:t6=r1;001000000000000000000000;000777777777777777777777;",128,0,0,0
.stabs "long long unsigned int:t7=r1;000000000000000000000000;001777777777777777777777;",128,0,0,0
.stabs "short int:t8=r8;-32768;32767;",128,0,0,0
.stabs "short unsigned int:t9=r9;0;65535;",128,0,0,0
.stabs "signed char:t10=r10;-128;127;",128,0,0,0
.stabs "unsigned char:t11=r11;0;255;",128,0,0,0
.stabs "float:t12=r1;4;0;",128,0,0,0
.stabs "double:t13=r1;8;0;",128,0,0,0
.stabs "long double:t14=r1;8;0;",128,0,0,0
.stabs "complex int:t15=s8real:1,0,32;imag:1,32,32;;",128,0,0,0
.stabs "complex float:t16=r16;4;0;",128,0,0,0
.stabs "complex double:t17=r17;8;0;",128,0,0,0
.stabs "complex long double:t18=r18;8;0;",128,0,0,0
.stabs "void:t19=19",128,0,0,0
	.align 5
	.globl nantest3
	.ent nantest3
nantest3:
	.eflag 48
	.frame $30,0,$26,0
$nantest3..ng:
$LM1:
	.stabn 68,0,1,$LM1
$LM2:
	.stabn 68,0,2,$LM2
$LBB2:
$LM3:
	.stabn 68,0,3,$LM3
	.prologue 0
	ldt $f10,7($16)
$LM4:
	.stabn 68,0,4,$LM4
	cmpteq $f10,$f10,$f10
	fbeq $f10,$L3
$LM5:
	.stabn 68,0,8,$LM5
	ldt $f10,7($17)
$LM6:
	.stabn 68,0,9,$LM6
	cmpteq $f10,$f10,$f10
$LM7:
	.stabn 68,0,11,$LM7
	lda $0,2
$LM8:
	.stabn 68,0,9,$LM8
	fbeq $f10,$L5
$LM9:
	.stabn 68,0,13,$LM9
	lda $0,3
	br $31,$L5
	.align 4
$L3:
$LM10:
	.stabn 68,0,6,$LM10
	lda $0,1
$L5:
	ret $31,($26),1
$LM11:
	.stabn 68,0,14,$LM11
$LBE2:
	.end nantest3
.stabs "nantest3:F1",36,0,1,nantest3
.stabs "___r1:P3",64,0,1,16
.stabs "___r2:P3",64,0,1,17
.stabs "___F64R1:r13",64,0,2,42
.stabs "___F64R2:r13",64,0,2,42
.stabn 192,0,0,$LBB2
.stabn 224,0,0,$LBE2
	.ident	"GCC: (GNU) 2.95 19990728 (release)"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]