Displaying 2 results from an estimated 2 matches for "fooreg".
Did you mean:
zooreg
2005 May 06
3
[LLVMdev] avoid live range overlap of "vector" registers
...taneously with vector instructions, e.g.
add r0.xyzw, r1.xzyw, r2.xyzw
My question is how to define the register in .td file to avoid the
code generator overlaps the live ranges of vector registers?
i could define a 'definition' for each scalar register, but it's tedious:
class FooReg<string n> : Register<n> {}
def r0_x: FooReg<"r0.x">;
def r0_y: FooReg<"r0.y">;
def r0_z: FooReg<"r0.z">;
def r0_w: FooReg<"r0.w">;
def r1_x: FooReg<"r1.x">;
def r1_y: FooReg<"r1.y">;
def r1_...
2005 May 10
0
[LLVMdev] avoid live range overlap of "vector" registers
...want to access each part individually, I would suggest doing the
tedious thing and including them all. The IA64 backend has 3*128
registers, so there is precedent for this...
-Chris
> i could define a 'definition' for each scalar register, but it's tedious:
>
>
> class FooReg<string n> : Register<n> {}
>
> def r0_x: FooReg<"r0.x">;
> def r0_y: FooReg<"r0.y">;
> def r0_z: FooReg<"r0.z">;
> def r0_w: FooReg<"r0.w">;
> def r1_x: FooReg<"r1.x">;
> def r1_y: FooRe...