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]
Other format: [Raw text]

Re: [PATCH]: Disable -fweb on 68hc11


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

Andrew Pinski wrote:
|
| On Mar 3, 2004, at 13:55, Stephane Carrez wrote:
|
|> Hi!
|>
|> I've committed this patch on 3_4 to disable -fweb on 68hc11 (was
|> activated by -O3).
|>
|>     Stephane
|>
|> 2004-03-03  Stephane Carrez  <stcarrez@nerim.fr>
|>
|>     * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
|>     because it breaks the 32-bit shift patterns that rely on a match_dup.
|>     (print_operand): Don't print a * before the base address.
|
|
|
| This is wrong, the problem is caused by the machine description file use
| of match_dup
| instead of match_clobber.
|
| Thanks,
| Andrew Pinski
|
|

I don't understand your point.  There is no match_clobber.  FYI, below
is the insn definition.

(define_insn "*ashlsi3_const"
~  [(set (match_operand:SI 0 "register_operand" "+D")
	(ashift:SI (match_dup 0)
	           (match_operand:HI 1 "const_int_operand" "")))
~   (clobber (match_scratch:HI 2 "=y"))]
~   ""
~   "*
{
~  CC_STATUS_INIT;
~  return \"ldy\\t%1\\n\\tbsr\\t___ashlsi3\";
}")

The whole point of using match_dup here is to have only one 32-bit operand.
If there were 2, (even one defined with "0" constraint), reloading could fail.
FYI, the clobber is correctly recognized (if it was your point).  The recog
really failed because match_dup identified a different operand.

Stephane

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org

iD8DBQFARl8DNyQxO2LzKT0RAhZbAKDjB0S5an+tbUBJKT2HMz5zVeyCwgCeMXlP
1iljQzy+bioCIIS9R6mJ8z8=
=Q05t
-----END PGP SIGNATURE-----


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