search for: typeofsize

Displaying 5 results from an estimated 5 matches for "typeofsize".

Did you mean: type_size
2016 Sep 30
2
[PATCH v2] nv50/ir: constant fold OP_SPLIT
...+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -932,6 +932,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) Instruction *newi = i; switch (i->op) { + case OP_SPLIT: { + uint8_t size = typeSizeof(i->dType); + DataType type = typeOfSize(size / 2, isFloatType(i->dType), + isSignedType(i->dType)); + if (likely(type != TYPE_NONE)) { + uint64_t val = imm0.reg.data.u64; + uint16_t shift = size * 8; + bld.setPosition(i, false); + for (int8_t d = 0; i->defExist...
2016 Sep 30
2
[PATCH] nv50/ir: constant fold OP_SPLIT
On 28.09.2016 02:01, Ilia Mirkin wrote: > On Tue, Sep 27, 2016 at 7:25 PM, Tobias Klausmann > <tobias.johannes.klausmann at mni.thm.de> wrote: >> Split the source immediate value into two new values and create OP_MOV >> instructions the two newly created values. >> >> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> >> ---
2016 Sep 30
0
[PATCH] nv50/ir: constant fold OP_SPLIT
...special-casing. What do you think? > > > Well with this you'd not set the new type right: bld.mkMov(def, val, >>>type<<), where you always would use TYPE_U32. Not sure if that is what we > want... other than that that, shorten it like this would be nice! pah-shaw :( typeOfSize(shift / 2, isFloatType(i->dType), isSignedType(i->dType)) How's that :p > > >> >>> + delete_Instruction(prog, i); >>> + } >>> + } >>> + break; >>> case OP_MUL: >>> if (i->dType == TYPE_F32...
2016 Sep 30
0
[PATCH v2] nv50/ir: constant fold OP_SPLIT
...u/codegen/nv50_ir_peephole.cpp > @@ -932,6 +932,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) > Instruction *newi = i; > > switch (i->op) { > + case OP_SPLIT: { > + uint8_t size = typeSizeof(i->dType); > + DataType type = typeOfSize(size / 2, isFloatType(i->dType), > + isSignedType(i->dType)); Er wait, sorry, I might have confused matters here... Why do you need to compute type at all? Why not just reuse i->dType? > + if (likely(type != TYPE_NONE)) { > + uint64_...
2014 Jul 18
5
[PATCH 0/5] nvc0: fp64 preparation
Most of codegen is already FP64-ready. There are a few edge-cases that I ran into, many of which can apply even to non-fp64-enabled programs (although the double-wide registers are not very common without fp64). I've yet to give this a full piglit run, but wanted to send these out in case someone wanted to comment. They do not depend on the preliminary core fp64 work. Ilia Mirkin (5):