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


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

Re: [bugs] Internal compiler error


> 
> 
> Unfortunately now glibc doesn't build any more:
> 
> regex.c:6333: Internal compiler error in ext_register_operand, at config/i386/i386.c:2692
> Please submit a full bug report, with preprocessed source if appropriate.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
> make[2]: *** [/work/eich/x86-64/glibc-build/posix/regex.o] Error 1
> make[2]: Leaving directory `/work/eich/x86-64/glibc/posix'
> make[1]: *** [posix/subdir_lib] Error 2
> make[1]: Leaving directory `/work/eich/x86-64/glibc'
> make: *** [all] Error 2
> 
> Cheers,
> 	Egbert.
Ugh ogh, why all my sanity checking code I add must trigger some bug?
Here is followup patch to fix these failures.

This patch is fairly obvious, but I will probably wait for approval
to mainline, as it is most probably not critical and only enables
some missed optimization opurtunities.

Honza

Fri May 25 18:21:58 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (movsi_ext_1*): Remove mode on ext_register_operand.

Index: i386.md
===================================================================
RCS file: /home/cvs/Repository/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.69
diff -c -3 -p -r1.69 i386.md
*** i386.md	2001/05/24 12:16:25	1.69
--- i386.md	2001/05/25 15:20:01
***************
*** 2144,2150 ****
  
  (define_insn "*movsi_extv_1"
    [(set (match_operand:SI 0 "register_operand" "=R")
! 	(sign_extract:SI (match_operand:SI 1 "ext_register_operand" "Q")
  			 (const_int 8)
  			 (const_int 8)))]
    ""
--- 2144,2150 ----
  
  (define_insn "*movsi_extv_1"
    [(set (match_operand:SI 0 "register_operand" "=R")
! 	(sign_extract:SI (match_operand 1 "ext_register_operand" "Q")
  			 (const_int 8)
  			 (const_int 8)))]
    ""
***************
*** 2154,2160 ****
  
  (define_insn "*movhi_extv_1"
    [(set (match_operand:HI 0 "register_operand" "=R")
! 	(sign_extract:HI (match_operand:SI 1 "ext_register_operand" "Q")
  			 (const_int 8)
  			 (const_int 8)))]
    ""
--- 2154,2160 ----
  
  (define_insn "*movhi_extv_1"
    [(set (match_operand:HI 0 "register_operand" "=R")
! 	(sign_extract:HI (match_operand 1 "ext_register_operand" "Q")
  			 (const_int 8)
  			 (const_int 8)))]
    ""
***************
*** 2164,2170 ****
  
  (define_insn "*movqi_extv_1"
    [(set (match_operand:QI 0 "nonimmediate_operand" "=Qm,?r")
!         (sign_extract:QI (match_operand:SI 1 "ext_register_operand" "Q,Q")
                           (const_int 8)
                           (const_int 8)))]
    "!TARGET_64BIT"
--- 2164,2170 ----
  
  (define_insn "*movqi_extv_1"
    [(set (match_operand:QI 0 "nonimmediate_operand" "=Qm,?r")
!         (sign_extract:QI (match_operand 1 "ext_register_operand" "Q,Q")
                           (const_int 8)
                           (const_int 8)))]
    "!TARGET_64BIT"
***************
*** 2192,2198 ****
  
  (define_insn "*movqi_extv_1_rex64"
    [(set (match_operand:QI 0 "register_operand" "=Q,?R")
!         (sign_extract:QI (match_operand:SI 1 "ext_register_operand" "Q,Q")
                           (const_int 8)
                           (const_int 8)))]
    "TARGET_64BIT"
--- 2192,2198 ----
  
  (define_insn "*movqi_extv_1_rex64"
    [(set (match_operand:QI 0 "register_operand" "=Q,?R")
!         (sign_extract:QI (match_operand 1 "ext_register_operand" "Q,Q")
                           (const_int 8)
                           (const_int 8)))]
    "TARGET_64BIT"
***************
*** 2339,2345 ****
    [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q")
  			 (const_int 8)
  			 (const_int 8))
! 	(and:SI (lshiftrt:SI (match_operand:SI 1 "ext_register_operand" "Q")
  			     (const_int 8))
  		(const_int 255)))]
    ""
--- 2339,2345 ----
    [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q")
  			 (const_int 8)
  			 (const_int 8))
! 	(and:SI (lshiftrt:SI (match_operand:SI 1 "register_operand" "Q")
  			     (const_int 8))
  		(const_int 255)))]
    ""


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