------- 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