* insn matching problem
@ 1998-11-05 0:28 Bill Currie
0 siblings, 0 replies; only message in thread
From: Bill Currie @ 1998-11-05 0:28 UTC (permalink / raw)
To: egcs
I'm having problems getting a complicated insn to match and I'm not sure
what I've done wrong.
Here is the error message.
foo.c:74: internal error--unrecognizable insn:
(insn 33 31 34 (set (reg:SI 74)
(ior:SI (const_int 0)
(zero_extract:SI (const_int 1)
(const_int:SI 16)
(const_int 0)))) -1 (nil)
(nil))
The insn is generated by this code:
emit_insn (gen_rtx_SET(VOIDmode,
operands[0],
gen_rtx_IOR(SImode,const0_rtx,
gen_rtx_ZERO_EXTRACT(SImode,operands[1],
gen_rtx_raw_CONST_INT(SImode,16),const0_rtx))));
This is what I thought the insn should match against.
(define_insn ""
[(set (match_operand:SI 0 "register_operand" "=r")
(ior:SI (const_int 0)
(zero_extract:SI (match_operand:SI 1 "immediate_operand" "i")
(const_int:SI 16)
(const_int 0))))]
""
"orh %H1,%?r0,%0")
What am I doing wrong? I'll continue trying to figure it out in the
mean time, but any help will be appreciated. Would getting rid of the
SImodes for the const_ints help?
BTW, this is for the i860 (big endian).
Bill
--
Leave others their otherness
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1998-11-05 0:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-11-05 0:28 insn matching problem Bill Currie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).