This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/40836] ICE: "insn does not satisfy its constraints" (iwmmxt_movsi_insn)
- From: "yipiha2008 at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Nov 2009 16:47:04 -0000
- Subject: [Bug target/40836] ICE: "insn does not satisfy its constraints" (iwmmxt_movsi_insn)
- References: <bug-40836-3461@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #22 from yipiha2008 at gmail dot com 2009-11-19 16:47 -------
I tried applying this patch:
(define_insn "*iwmmxt_movsi_insn"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,rk,
m,z,r,?z,Uy,z")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=rk,r,r,rk,
m,z,rk,?z,Uy,z")
(match_operand:SI 1 "general_operand" "rk, I,K,mi,rk,r,z,Uy,z,
z"))]
"TARGET_REALLY_IWMMXT
&& ( register_operand (operands[0], SImode)
I really have no clue as to whether it is correct or not.
I rely on the assembler to crash with an error in the event this generates an
invalid instruction. So far I compiled a lot of stuff with this patch applied,
and I got no ICE. However it's likely that the generated code is incorrect
somehow and my code will crash (SIGILL?) when executed. I will test this in a
few hours.
Any other idea? Maybe we could contact the people who originally wrote the
iwmmxt.md file, they might be able to help.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40836