search for: setflagsdef

Displaying 2 results from an estimated 2 matches for "setflagsdef".

2014 May 18
1
[PATCH 1/2] nv50/ir: fix s32 x s32 -> high s32 multiply logic
...[3], r[0])->setPredicate(CC_NC, c[0]); bld->mkOp2(OP_UNION, TYPE_U32, r[2], r[1], r[3]); - i[5] = bld->mkOp3(OP_MAD, fTy, mul->getDef(0), a[1], b[1], r[2]); + i[5] = bld->mkOp3(OP_MAD, fTy, r[4], a[1], b[1], r[2]); // set carry defs / sources i[3]->setFlagsDef(1, c[0]); - i[4]->setFlagsDef(0, c[1]); // actual result not required, just the carry + // actual result required in negative case, but ignored for + // unsigned. for some reason the compiler ends up dropping the whole + // instruction if the destination is unused but the fla...
2015 Feb 23
2
[PATCH 1/2] nv50/ir: add fp64 support on G200 (NVA0)
...+ shr[1] = bld.mkOp2v(OP_SHR, TYPE_U32, bld.getSSA(4), input[1], bld.mkImm(1)); + + // If the bottom bit of the high word was set, set the high bit of the + // bottom word. + pred = bld.getSSA(1, FILE_FLAGS); + bld.mkOp2(OP_AND, TYPE_U32, NULL, input[1], bld.loadImm(NULL, 1)) + ->setFlagsDef(0, pred); + shr[2] = bld.getSSA(4); shr[3] = bld.getSSA(4); + bld.mkOp2(OP_OR, TYPE_U32, shr[2], shr[0], bld.loadImm(NULL, 0x80000000)) + ->setPredicate(CC_S, pred); + bld.mkMov(shr[3], shr[0]) + ->setPredicate(CC_NS, pred); + shr[0] = bld.mkOp2v(OP_UNION, TYPE_U32, bld.getS...