Help math RTL patterns...

2017-01-17 Thread Steve Silva via gcc
Hi All, I am porting gcc for an internal processor and I am having some issues with math instructions. Our processor uses two operands for math instructions which are usually of the form OP0 = OP0 + OP1. The RTL pattern (for addm3) in gcc uses the form OP0 = OP1 + OP2. I understand that gcc

Re: Help math RTL patterns...

2017-01-17 Thread Steve Silva via gcc
nsns ../../gcc-6.2.0/gcc/reload1.c:1484 0x90327b reload(rtx_insn*, int) ../../gcc-6.2.0/gcc/reload1.c:995 0x7e8f11 do_reload ../../gcc-6.2.0/gcc/ira.c:5437 0x7e8f11 execute ../../gcc-6.2.0/gcc/ira.c:5609 It would seem that the constraints are somehow not right, but I am not familiar with the p

Re: Help math RTL patterns...

2017-01-18 Thread Steve Silva via gcc
t_asm_insn("//Start of addhi3_mem_or_reg %0 = %1 + %2", operands); snap_do_basic_math_op_hi(operands, MATH_OP_PLUS); output_asm_insn("//End of addhi3_mem_or_reg", operands); return(""); } ) Nathan and Johann if you are even in Fort Collins, CO I will buy you a be

GCC function calling: Parameter passing on stack...

2017-01-23 Thread Steve Silva via gcc
Hi All, I am doing a port of GCC for a small internal processor and I have a question about function parameter passing. I am allocating space for function parameters on the frame (via crtl->outgoing_args_size) and want gcc to use this space via frame pointer manipulation, not stack pointer ma