On Tue, Apr 26, 2011 at 1:44 AM, Ian Lance Taylor <i...@google.com> wrote: > Liu <pro...@gmail.com> writes: > >> I get a error: >> /opt/cross-tools/bin/../lib/gcc/mips64el-unknown-linux-gnu/4.5.1/include/xx.h:1535:31: >> error: invalid argument to built-in function > > That is an error from the MIPS backend. > > In this case it seems to mean that the mode for the type int64x4_t does > not match the mode for the insn in the .md file. I don't know where > int64x4_t is defined, so I don't know what its mode is. It looks like > you want the mode to be V4DImode; is it? > > Ian >
Thank you, Ian. Yes, I want V4DImode and in the xx.md file I write match_operand:V4DI in this pattern. The type of int64x4_t is define in xx.h: typedef int64_t int64x4_t __attribute__((vector_size (32))); This type is OK in other builtin-funcs, only imm-operand-builtin-funcs get this error. So, I'm confused. --Liu