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):