search for: isinteg

Displaying 20 results from an estimated 94 matches for "isinteg".

Did you mean: isinreg
2015 Mar 25
0
[PATCH] nv50/ir: take postFactor into account when doing peephole optimizations
...10 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) i->op = OP_MOV; i->setSrc(0, new_ImmediateValue(prog, 0u)); i->src(0).mod = Modifier(0); + i->postFactor = 0; i->setSrc(1, NULL); } else - if (imm0.isInteger(1) || imm0.isInteger(-1)) { + if (!i->postFactor && (imm0.isInteger(1) || imm0.isInteger(-1))) { if (imm0.isNegative()) i->src(t).mod = i->src(t).mod ^ Modifier(NV50_IR_MOD_NEG); i->op = i->src(t).mod.getOp(); @@ -797,7 +801,7 @@ Consta...
2016 Oct 02
2
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...p index 9875738..8bb5cf9 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) break; case OP_MAD: if (imm0.isInteger(0)) { + ImmediateValue imm1; i->setSrc(0, i->getSrc(2)); i->src(0).mod = i->src(2).mod; i->setSrc(1, NULL); i->setSrc(2, NULL); - i->op = i->src(0).mod.getOp(); - if (i->op != OP_CVT) - i->src...
2012 Nov 20
2
[LLVMdev] Extended Inline asm with double data type crashes clang
Hi, Clang crashes when below snippet of code is compiled (used latest svn version) *double func1() { double x ;* * asm ( "" : "=r"(x) : "0"(x) ); return x; }* > *clang -S test1.c* > *Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && ValueVT.isInteger() && "Unknown mismatch!", file ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378* Compilation sucessful, If data type passed to inline asm is of *float* * float x ;* * asm ( "" : "=...
2009 Apr 07
0
[LLVMdev] Porting to System z
Hi, > llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td > tblgen: IntrinsicEmitter.cpp:163: void EmitTypeForValueType(std::ostream&, > llvm::MVT::SimpleValueType): Assertion `false && "Unsupported ValueType!"' > failed. this came up before IIRC, but I don't remember the details - buggy system compiler? Try searching the archives. Also, if you
2009 Apr 07
6
[LLVMdev] Porting to System z
...llvm::TreePatternNode::hasTypeSet() const': CodeGenDAGPatterns.h:187: warning: comparison between signed and unsigned integer expressions Using gdb to see what may be happening shows that the value is llvm::MVT::i8 that it is having problems with. I assume it must be failing the MVT(VT).isInteger() test, so I added some logic to break down the test: 144 bool isInt = MVT(VT).isInteger(); (gdb) n 145 bool isSim = MVT(VT).isSimple(); (gdb) p isInt $1 = false (gdb) n 146 if (MVT(VT).isInteger()) { (gdb) p isSim $2 = true So you'd assume it's the tests in isInteger...
2016 Oct 02
2
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...m/drivers/nouveau/codegen/nv50_ir_peephole.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) >> break; >> case OP_MAD: >> if (imm0.isInteger(0)) { >> + ImmediateValue imm1; >> i->setSrc(0, i->getSrc(2)); >> i->src(0).mod = i->src(2).mod; >> i->setSrc(1, NULL); >> i->setSrc(2, NULL); >> - i->op = i->src(0).mod.getOp()...
2008 Jun 25
1
[LLVMdev] Assert in SelectionDAGLegalize when using arbitrary size integers
...eplacing the Int32Ty with another size (let's say 12 bits for the example). While it compiles ok, I get the following assert at run-time: HowToUseJIT: LegalizeDAG.cpp:4059: llvm::SDOperand <unnamed>::SelectionDAGLegalize::PromoteOp(llvm::SDOperand): Assertion `NVT > VT && MVT::isInteger(NVT) == MVT::isInteger(VT) && "Cannot promote to smaller type!"' failed. The corresponding code is the following: SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) { MVT::ValueType VT = Op.getValueType(); MVT::ValueType NVT = TLI.getTypeToTransformTo(VT); asser...
2012 Nov 20
0
[LLVMdev] Extended Inline asm with double data type crashes clang
...t; > Clang crashes when below snippet of code is compiled (used latest svn > version) > > double func1() > { > double x ; > asm ( "" : "=r"(x) : "0"(x) ); > return x; > } > >> clang -S test1.c >> Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && >> ValueVT.isInteger() && "Unknown mismatch!", file >> ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378 > > > Compilation sucessful, If data type passed to inline asm is of float > float x ; &...
2009 Apr 07
2
[LLVMdev] Porting to System z
Hi, I am beginning the porting process for Linux on System z (aka IBM Mainframe). I thought I¹d build LLVM first with the c and cpp backends so that tools like TableGen would be created that I¹d then use to process the .td files that I¹ll be creating. So I used svn to grab the code from the repository and ran configure and make. However, the build breaks at this point: llvm[1]: Building
2009 May 21
3
[LLVMdev] Passing a pointer to a function
...is not valid, use sbyte* instead!"' failed. I can try checking the type before building the function, as in: void visitLoadInst(LoadInst &I) { Value *P; P = I.getPointerOperand(); PointerType* PtrTy = (PointerType*)(P); Constant* fcall; if (PtrTy->getElementType()->isInteger()) { fcall = buildFcallMem(*theModule, "load_int", Type::Int32Ty); CallInst::Create(fcall, P, "", &I); } else if (PtrTy->getElementType()->isInteger()){ fcall = buildFcallMem(*theModule, "load_float", Type::FloatTy); CallInst::Create(fcall...
2007 Jan 19
2
[LLVMdev] Vector comparisons
...e i1 %cmpfint(<4 x float> %x, <4 x float> %y) { %res = fcmp oeq <4 x float> %y, %y ret %res } EOT llvm-as: <stdin>:2,0: Packed types not supported by fcmp instruction [2] From CmpInst::CmpInst: // Check that the operands are the right type assert(Op0Ty->isInteger() || isa<PointerType>(Op0Ty) || (isa<PackedType>(Op0Ty) && cast<PackedType>(Op0Ty)->getElementType()->isInteger()) && "Invalid operand types for ICmp instruction"); ... // Check that the operands are the rig...
2012 Nov 21
2
[LLVMdev] Extended Inline asm with double data type crashes clang
...piled (used latest svn > > version) > > > > double func1() > > { > > double x ; > > asm ( "" : "=r"(x) : "0"(x) ); > > return x; > > } > > > >> clang -S test1.c > >> Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && > >> ValueVT.isInteger() && "Unknown mismatch!", file > >> ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378 > > > > > > Compilation sucessful, If data type passed to inline asm is of...
2016 Oct 02
0
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...4 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) > break; > case OP_MAD: > if (imm0.isInteger(0)) { > + ImmediateValue imm1; > i->setSrc(0, i->getSrc(2)); > i->src(0).mod = i->src(2).mod; > i->setSrc(1, NULL); > i->setSrc(2, NULL); > - i->op = i->src(0).mod.getOp(); > - if (i->o...
2015 Jan 01
0
[PATCH] nv50/ir: fold MAD when one of the multiplicands is const
...src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -784,6 +784,26 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) i->src(1).mod = 0; } break; + case OP_MAD: + if (imm0.isInteger(0)) { + i->op = OP_MOV; + i->setSrc(0, i->getSrc(2)); + i->setSrc(1, NULL); + i->setSrc(2, NULL); + } else + if (imm0.isInteger(1) || imm0.isInteger(-1)) { + if (imm0.isNegative()) + i->src(t).mod = i->src(t).mod ^...
2017 Apr 29
5
[PATCH v2] nv50/ir: optimize shl(a, 0) to a
...1..82da0d3e48 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1284,6 +1284,13 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) case OP_SHL: { + if (s == 1 && imm0.isInteger(0)) { + i->op = i->src(0).mod.getOp(); + if (i->op != OP_CVT) + i->src(0).mod = 0; + i->setSrc(1, NULL); + break; + } if (s != 1 || i->src(0).mod != Modifier(0)) break; // try to concatenate shifts -- 2.12....
2017 Apr 29
3
[PATCH] nv50/ir: optimmize shl(a, 0) to a
...1..a2446e4df8 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1284,6 +1284,11 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) case OP_SHL: { + if (s == 1 && imm0.isInteger(0)) { + i->op = OP_MOV; + i->setSrc(1, NULL); + break; + } if (s != 1 || i->src(0).mod != Modifier(0)) break; // try to concatenate shifts -- 2.12.2
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...xplicit type specified. std::map<std::pair<unsigned, MVT::SimpleValueType>, MVT::SimpleValueType>::const_iterator PTTI = PromoteToType.find(std::make_pair(Op, VT.getSimpleVT().SimpleTy)); if (PTTI != PromoteToType.end()) return PTTI->second; assert((VT.isInteger() || VT.isFloatingPoint()) && "Cannot autopromote this type, add it with AddPromotedToType."); EVT NVT = VT; do { NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1); assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &a...
2016 Oct 02
0
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
..._peephole.cpp >>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >>> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, >>> ImmediateValue &imm0, int s) >>> break; >>> case OP_MAD: >>> if (imm0.isInteger(0)) { >>> + ImmediateValue imm1; >>> i->setSrc(0, i->getSrc(2)); >>> i->src(0).mod = i->src(2).mod; >>> i->setSrc(1, NULL); >>> i->setSrc(2, NULL); >>> - i->op =...
2016 Oct 02
1
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...gt; +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >>>> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, >>>> ImmediateValue &imm0, int s) >>>> break; >>>> case OP_MAD: >>>> if (imm0.isInteger(0)) { >>>> + ImmediateValue imm1; >>>> i->setSrc(0, i->getSrc(2)); >>>> i->src(0).mod = i->src(2).mod; >>>> i->setSrc(1, NULL); >>>> i->setSrc(2, NULL); >>&g...
2002 May 20
3
Will/Can Exchange Server run with a samba pdc?
...It failed initially as we did not have the" log on as a service user" (not strictly true, we had administrator but it didn't work for some reason) After we got a working service user then got "service specific error 4021" This in theory is corrected by q170810 "run isinteg -patch" Running this gives us "ds_e_insufficient_access_rights"