This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [bugs] Bug in mainline gcc
- From: Jan Hubicka <jh at suse dot cz>
- To: Bo Thorsen <bo at sonofthor dot dk>, gcc-patches at gcc dot gnu dot org
- Cc: bugs at x86-64 dot org
- Date: Mon, 3 Dec 2001 13:55:49 +0100
- Subject: Re: [bugs] Bug in mainline gcc
- References: <20011203123216.E83AFCDB66@pluto.sonofthor.dk>
> /tmp/ccfECYw2.s:176: Error: `%al' not allowed with `movabsq'
> /tmp/ccfECYw2.s:211: Error: `%al' not allowed with `movabsq'
>
> Preprocessed file is attached. GCC from mainline updated last week.
Interesting, I was fixing this typo at least 3 times, but still not in the
mainline yet. Here is the patch, I've tested it on i386 and installed
as obvious.
Mon Dec 3 13:51:52 CET 2001 Jan Hubicka <jh@suse.cz>
* i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
Index: i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.317
diff -c -3 -p -r1.317 i386.md
*** i386.md 2001/11/22 12:27:57 1.317
--- i386.md 2001/12/03 12:51:16
***************
*** 2221,2229 ****
(match_operand:QI 1 "nonmemory_operand" "a,er,i"))]
"TARGET_64BIT"
"@
! movabs{q}\t{%1, %P0|%P0, %1}
! mov{q}\t{%1, %a0|%a0, %1}
! movabs{q}\t{%1, %a0|%a0, %1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*,*")
(set_attr "length_address" "8,0,0")
--- 2221,2229 ----
(match_operand:QI 1 "nonmemory_operand" "a,er,i"))]
"TARGET_64BIT"
"@
! movabs{b}\t{%1, %P0|%P0, %1}
! mov{b}\t{%1, %a0|%a0, %1}
! movabs{b}\t{%1, %a0|%a0, %1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*,*")
(set_attr "length_address" "8,0,0")
***************
*** 2236,2243 ****
(mem:QI (match_operand:DI 1 "x86_64_movabs_operand" "i,r")))]
"TARGET_64BIT"
"@
! movabs{q}\t{%P1, %0|%0, %P1}
! mov{q}\t{%a1, %0|%0, %a1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
(set_attr "length_address" "8,0")
--- 2236,2243 ----
(mem:QI (match_operand:DI 1 "x86_64_movabs_operand" "i,r")))]
"TARGET_64BIT"
"@
! movabs{b}\t{%P1, %0|%0, %P1}
! mov{b}\t{%a1, %0|%0, %a1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
(set_attr "length_address" "8,0")