public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* More info on egcs alpha bug
@ 1997-09-09 14:53 H.J. Lu
  1997-09-10 10:51 ` Richard Henderson
  0 siblings, 1 reply; 4+ messages in thread
From: H.J. Lu @ 1997-09-09 14:53 UTC (permalink / raw)
  To: rth; +Cc: egcs

There are 3 files for Linux/alpha from glibc 2.0.5:

1. rtld.c. The dynamic linker source code file from glibc 2.0.5.
2. good.s. The asm code generated by gcc 2.7.2.1. It works.
3. bad.s. The asm code generated by egcs 970904. It doesn't work.

good.s and bad.s are compiled with

-O2 -Wall -Winline -Wno-parentheses -Wstrict-prototypes -Wwrite-strings  -mno-fp-regs -mieee -fPIC -fno-common -mbuild-constants

Someone who knows alpha assembly code may be able to tell
what went wrong.


Thanks.


H.J. Lu (hjl@gnu.ai.mit.edu)
----
begin 644 dl.tar.gz
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
4U5,]U5,]U?-KG[\`9#7V=`#(````
`
end

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: More info on egcs alpha bug
  1997-09-09 14:53 More info on egcs alpha bug H.J. Lu
@ 1997-09-10 10:51 ` Richard Henderson
  1997-09-10 18:32   ` Richard Henderson
  1997-09-10 18:34   ` Richard Henderson
  0 siblings, 2 replies; 4+ messages in thread
From: Richard Henderson @ 1997-09-10 10:51 UTC (permalink / raw)
  To: H.J. Lu; +Cc: egcs

> -O2 -Wall -Winline -Wno-parentheses -Wstrict-prototypes -Wwrite-strings
>  -mno-fp-regs -mieee -fPIC -fno-common -mbuild-constants

Ah hah.  bad.s isn't respecting -mbuild-constants. 

That option was added specifically for ld.so because we can't load
constants from memory that early in the bootstrap process, and so
we don't care that it takes a half-dozen instructions to build it up.

I'll look into this.


r~

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: More info on egcs alpha bug
  1997-09-10 10:51 ` Richard Henderson
@ 1997-09-10 18:32   ` Richard Henderson
  1997-09-10 18:34   ` Richard Henderson
  1 sibling, 0 replies; 4+ messages in thread
From: Richard Henderson @ 1997-09-10 18:32 UTC (permalink / raw)
  To: hjl; +Cc: egcs

> Ah hah.  bad.s isn't respecting -mbuild-constants. 

The following patch fixes the problem.


r~


Wed Sep 10 18:30:02 1997  Richard Henderson  <rth@cygnus.com>

	* alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.


Index: alpha.md
===================================================================
RCS file: /cvs/cvsfiles/egcs/gcc/config/alpha/alpha.md,v
retrieving revision 1.3
diff -u -p -d -r1.3 alpha.md
--- alpha.md	1997/09/03 01:27:01	1.3
+++ alpha.md	1997/09/11 01:30:54
@@ -3830,30 +3830,41 @@
       else
 	operands[1] = tem;
     }
-  else if (TARGET_BUILD_CONSTANTS
-	   && GET_CODE (operands[1]) == CONST_INT)
+  else if (CONSTANT_P (operands[1]))
     {
+      if (TARGET_BUILD_CONSTANTS)
+	{
 #if HOST_BITS_PER_WIDE_INT == 64
-      tem = alpha_emit_set_long_const (operands[0], INTVAL (operands[1]));
-      if (rtx_equal_p (tem, operands[0]))
-	DONE;
-      else
-	operands[1] = tem;
+	  HOST_WIDE_INT i;
+
+	  if (GET_CODE (operands[1]) == CONST_INT)
+	    i = INTVAL (operands[1]);
+	  else if (GET_CODE (operands[1]) == CONST_DOUBLE)
+	    i = CONST_DOUBLE_LOW (operands[1]);
+	  else
+	    abort();
+	  
+          tem = alpha_emit_set_long_const (operands[0], i);
+          if (rtx_equal_p (tem, operands[0]))
+	    DONE;
+          else
+	    operands[1] = tem;
 #else
-      abort();
+          abort();
 #endif
-    }
-  else if (CONSTANT_P (operands[1]))
-    {
-      operands[1] = force_const_mem (DImode, operands[1]);
-      if (reload_in_progress)
-	{
-	  emit_move_insn (operands[0], XEXP (operands[1], 0));
-	  operands[1] = copy_rtx (operands[1]);
-	  XEXP (operands[1], 0) = operands[0];
 	}
       else
-	operands[1] = validize_mem (operands[1]);
+	{
+	  operands[1] = force_const_mem (DImode, operands[1]);
+	  if (reload_in_progress)
+	    {
+	      emit_move_insn (operands[0], XEXP (operands[1], 0));
+	      operands[1] = copy_rtx (operands[1]);
+	      XEXP (operands[1], 0) = operands[0];
+	    }
+	  else
+	    operands[1] = validize_mem (operands[1]);
+	}
     }
   else
     abort ();

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: More info on egcs alpha bug
  1997-09-10 10:51 ` Richard Henderson
  1997-09-10 18:32   ` Richard Henderson
@ 1997-09-10 18:34   ` Richard Henderson
  1 sibling, 0 replies; 4+ messages in thread
From: Richard Henderson @ 1997-09-10 18:34 UTC (permalink / raw)
  To: egcs

> Ah hah.  bad.s isn't respecting -mbuild-constants. 

The following patch fixes the problem.


r~


Wed Sep 10 18:30:02 1997  Richard Henderson  <rth@cygnus.com>

	* alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.


Index: alpha.md
===================================================================
RCS file: /cvs/cvsfiles/egcs/gcc/config/alpha/alpha.md,v
retrieving revision 1.3
diff -u -p -d -r1.3 alpha.md
--- alpha.md	1997/09/03 01:27:01	1.3
+++ alpha.md	1997/09/11 01:30:54
@@ -3830,30 +3830,41 @@
       else
 	operands[1] = tem;
     }
-  else if (TARGET_BUILD_CONSTANTS
-	   && GET_CODE (operands[1]) == CONST_INT)
+  else if (CONSTANT_P (operands[1]))
     {
+      if (TARGET_BUILD_CONSTANTS)
+	{
 #if HOST_BITS_PER_WIDE_INT == 64
-      tem = alpha_emit_set_long_const (operands[0], INTVAL (operands[1]));
-      if (rtx_equal_p (tem, operands[0]))
-	DONE;
-      else
-	operands[1] = tem;
+	  HOST_WIDE_INT i;
+
+	  if (GET_CODE (operands[1]) == CONST_INT)
+	    i = INTVAL (operands[1]);
+	  else if (GET_CODE (operands[1]) == CONST_DOUBLE)
+	    i = CONST_DOUBLE_LOW (operands[1]);
+	  else
+	    abort();
+	  
+          tem = alpha_emit_set_long_const (operands[0], i);
+          if (rtx_equal_p (tem, operands[0]))
+	    DONE;
+          else
+	    operands[1] = tem;
 #else
-      abort();
+          abort();
 #endif
-    }
-  else if (CONSTANT_P (operands[1]))
-    {
-      operands[1] = force_const_mem (DImode, operands[1]);
-      if (reload_in_progress)
-	{
-	  emit_move_insn (operands[0], XEXP (operands[1], 0));
-	  operands[1] = copy_rtx (operands[1]);
-	  XEXP (operands[1], 0) = operands[0];
 	}
       else
-	operands[1] = validize_mem (operands[1]);
+	{
+	  operands[1] = force_const_mem (DImode, operands[1]);
+	  if (reload_in_progress)
+	    {
+	      emit_move_insn (operands[0], XEXP (operands[1], 0));
+	      operands[1] = copy_rtx (operands[1]);
+	      XEXP (operands[1], 0) = operands[0];
+	    }
+	  else
+	    operands[1] = validize_mem (operands[1]);
+	}
     }
   else
     abort ();

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1997-09-10 18:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-09-09 14:53 More info on egcs alpha bug H.J. Lu
1997-09-10 10:51 ` Richard Henderson
1997-09-10 18:32   ` Richard Henderson
1997-09-10 18:34   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).