Ada is still broken on AMD64 and IA64 (Was: Re: Ada config for x86_64-linux)

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Nov 14 16:27:00 GMT 2003


    >> | 3.4 20031114 (experimental) (x86_64-suse-linux-gnu) GCC error:     
    >> | in convert_move, at expr.c:613

I believe the fix for this is below. 

Zack, do you agree?

(Once this is fixed, there's a precision vs. size issue in Ada's utils.c that
also has to be fixed.)

*** expr.c	13 Nov 2003 09:48:28 -0000	1.599
--- expr.c	14 Nov 2003 16:23:59 -0000
*************** convert_move (rtx to, rtx from, int unsi
*** 606,612 ****
        convert_optab tab;
  
!       if (GET_MODE_BITSIZE (from_mode) < GET_MODE_BITSIZE (to_mode))
  	tab = sext_optab;
!       else if (GET_MODE_BITSIZE (from_mode) > GET_MODE_BITSIZE (to_mode))
  	tab = trunc_optab;
        else
--- 606,612 ----
        convert_optab tab;
  
!       if (GET_MODE_PRECISION (from_mode) < GET_MODE_PRECISION (to_mode))
  	tab = sext_optab;
!       else if (GET_MODE_PRECISION (from_mode) > GET_MODE_PRECISION (to_mode))
  	tab = trunc_optab;
        else



More information about the Gcc-patches mailing list