This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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)))]
""