Re: RTL AND Instruction

2012-01-29 Thread Matt Davis
On Sun, Jan 29, 2012 at 8:21 PM, James Courtier-Dutton wrote: > > On Jan 22, 2012 5:21 AM, "Matt Davis" wrote: >>  Essentially, I just want to emit:  "and %eax, $0x7" >> > Assuming at&t format, does that instruction actually exist? > How can you store the result in the constant number 7? > Did yo

Re: RTL AND Instruction

2012-01-21 Thread Ian Lance Taylor
Matt Davis writes: > What I have in my source is the following: > > rtx eax = gen_rtx_REG(DImode, 0); > rtx and = gen_rtx_AND(DImode, eax, gen_rtx_CONST_INT(VOIDmode, 7)); > and = gen_rtx_SET(DImode, eax, and); > emit_insn_before(and, insn); This is normally not what you want to

Re: RTL AND Instruction

2012-01-21 Thread Hans-Peter Nilsson
On Sun, 22 Jan 2012, Matt Davis wrote: > Once I emit my rtx into the list of insns, GCC gives me an "unrecognized insn" > error. I can trace the code through the first part of the condition, > specified > in i386.md, "ix86_binary_operator_ok," and that passes fine from the > "anddi_1" define_insn

RTL AND Instruction

2012-01-21 Thread Matt Davis
Hello (again), I have a case where I need to emit an AND operation on a register and a const_int value. The machine architecture I am looking at, for the .md, is an i386. Anyways, after matching things up with the rtl.def and what is in the .md, I use the gen_rtx_AND macro and wrap that in a gen