search for: selcc

Displaying 3 results from an estimated 3 matches for "selcc".

Did you mean: secc
2019 Jun 02
2
Optimizing Compare instruction selection
...doSmth function call, t30: i16 = CMPkr16 t4, TargetConstant:i16<0> t36: ch,glue = CopyToReg t0, Register:i16 $sr, t30 t32: i16 = NEGSETCC TargetConstant:i16<4>, t36:1 And this is generated after the call t35: ch,glue = CopyToReg t0, Register:i16 $sr, t30 t31: i16 = SELCC t19, t18, TargetConstant:i16<4>, t35:1 t21: ch,glue = CopyToReg t18:1, Register:i16 $r0, t31 NEGSETCC and SELCC are genuine instructions of my target architecture, they use the SR along with operands to produce a result. As you can see ‘t30’ is used both before and after the function cal...
2019 Jun 05
2
Optimizing Compare instruction selection
...16 t4, TargetConstant:i16<0> > t36: ch,glue = CopyToReg t0, Register:i16 $sr, t30 > t32: i16 = NEGSETCC TargetConstant:i16<4>, t36:1 > > > And this is generated after the call > > t35: ch,glue = CopyToReg t0, Register:i16 $sr, t30 > t31: i16 = SELCC t19, t18, TargetConstant:i16<4>, t35:1 > t21: ch,glue = CopyToReg t18:1, Register:i16 $r0, t31 > > NEGSETCC and SELCC are genuine instructions of my target architecture, they use the SR along with operands to produce a result. > > As you can see ‘t30’ is used both before...
2019 Jun 01
2
Optimizing Compare instruction selection
I attempt to optimize the use of the ‘CMP’ instruction on my architecture by removing the instruction instances where the Status Register already had the correct status flags. The cmp instruction in my architecture is the typical one that compares two registers, or a register with an immediate, and sets the Status Flags accordingly. I implemented my ‘cmp’ instruction in LLVM by custom lowering