gcc-4.3.0 build problem

DSS rajivkumarsingla@gmail.com
Mon Dec 14 06:28:00 GMT 2009


Hi,

I got a problem while building gcc-4.3.0 after putting "movdi" pattern in my
md file. Error is like this

/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2045: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2045: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2048: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2048: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2058: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2058: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2060: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2060: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2063: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2063: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2073: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2073: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2075: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2075: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2078: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2078: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2088: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2088: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2090: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2090: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2093: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2093: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2103: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2103: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2105: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2105: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2108: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2108: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2124: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:2124: warning: (near
initialization for ‘insn_data[14]’)
.
.
.
.
.
.
.
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3284: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3284: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3294: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3294: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3296: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3296: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3299: error: extra
brace group at end of initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3299: error: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3309: warning:
excess elements in struct initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3309: warning: (near
initialization for ‘insn_data[14]’)
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3310: warning:
missing initializer
/root/prerequisties/gcc-4.3.0/gcc/config/trial/trial.md:3310: warning: (near
initialization for ‘insn_data[14].n_operands’)
make[2]: *** [insn-output.o] Error 1
make[2]: Leaving directory `/root/build/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/root/build'
make: *** [all] Error 2


Please help me in this.

My movdi pattern is like this.
(define_expand "movdi"
  [(set (match_operand:DI 0 "general_operand" "")
	(match_operand:DI 1 "general_operand" ""))]
  ""
  "
  	if(GET_CODE(operands[0])==MEM && GET_CODE(operands[1])!=REG)
	{   
		  if(can_create_pseudo_p())
	   	  {
			operands[1]=force_reg(DImode,operands[1]);
	   	  }
	}
  "
)
(define_insn_and_split "*movdi"
  [(set(match_operand: DI 0 "nonimmediate_operand" "=r,r")
       (match_operand: DI 1 "general_operand"      "r,i"))]

        "(register_operand (operands[0], DImode)
         || register_operand (operands[1], DImode))"

	"if(which_alternative)
	 {
	         case 0:
	         case 1: return \"#\";	 
	 }"
	""
        [(set (match_dup 0)(match_dup 1))
	 (set (match_dup 2)(match_dup 3))]
        "{
	    operands[2] = gen_highpart (SImode, operands[0]);
	    operands[0] = gen_lowpart (SImode, operands[0]);
    	    operands[3] = gen_highpart (SImode, operands[1]);
	    operands[1] = gen_lowpart (SImode, operands[1]);
	 }"
)

-- 
View this message in context: http://old.nabble.com/gcc-4.3.0-build-problem-tp26773228p26773228.html
Sent from the gcc - Help mailing list archive at Nabble.com.



More information about the Gcc-help mailing list