Lines Matching defs:Ty
49 static void executeFNegInst(GenericValue &Dest, GenericValue Src, Type *Ty) {
50 switch (Ty->getTypeID()) {
64 Type *Ty = I.getOperand(0)->getType();
69 if (Ty->isVectorTy()) {
77 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) {
80 } else if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) {
93 case Instruction::FNeg: executeFNegInst(R, Src, Ty); break;
109 GenericValue Src2, Type *Ty) {
110 switch (Ty->getTypeID()) {
114 dbgs() << "Unhandled type for FAdd instruction: " << *Ty << "\n";
120 GenericValue Src2, Type *Ty) {
121 switch (Ty->getTypeID()) {
125 dbgs() << "Unhandled type for FSub instruction: " << *Ty << "\n";
131 GenericValue Src2, Type *Ty) {
132 switch (Ty->getTypeID()) {
136 dbgs() << "Unhandled type for FMul instruction: " << *Ty << "\n";
142 GenericValue Src2, Type *Ty) {
143 switch (Ty->getTypeID()) {
147 dbgs() << "Unhandled type for FDiv instruction: " << *Ty << "\n";
153 GenericValue Src2, Type *Ty) {
154 switch (Ty->getTypeID()) {
162 dbgs() << "Unhandled type for Rem instruction: " << *Ty << "\n";
193 Type *Ty) {
195 switch (Ty->getTypeID()) {
196 IMPLEMENT_INTEGER_ICMP(eq,Ty);
197 IMPLEMENT_VECTOR_INTEGER_ICMP(eq,Ty);
200 dbgs() << "Unhandled type for ICMP_EQ predicate: " << *Ty << "\n";
207 Type *Ty) {
209 switch (Ty->getTypeID()) {
210 IMPLEMENT_INTEGER_ICMP(ne,Ty);
211 IMPLEMENT_VECTOR_INTEGER_ICMP(ne,Ty);
214 dbgs() << "Unhandled type for ICMP_NE predicate: " << *Ty << "\n";
221 Type *Ty) {
223 switch (Ty->getTypeID()) {
224 IMPLEMENT_INTEGER_ICMP(ult,Ty);
225 IMPLEMENT_VECTOR_INTEGER_ICMP(ult,Ty);
228 dbgs() << "Unhandled type for ICMP_ULT predicate: " << *Ty << "\n";
235 Type *Ty) {
237 switch (Ty->getTypeID()) {
238 IMPLEMENT_INTEGER_ICMP(slt,Ty);
239 IMPLEMENT_VECTOR_INTEGER_ICMP(slt,Ty);
242 dbgs() << "Unhandled type for ICMP_SLT predicate: " << *Ty << "\n";
249 Type *Ty) {
251 switch (Ty->getTypeID()) {
252 IMPLEMENT_INTEGER_ICMP(ugt,Ty);
253 IMPLEMENT_VECTOR_INTEGER_ICMP(ugt,Ty);
256 dbgs() << "Unhandled type for ICMP_UGT predicate: " << *Ty << "\n";
263 Type *Ty) {
265 switch (Ty->getTypeID()) {
266 IMPLEMENT_INTEGER_ICMP(sgt,Ty);
267 IMPLEMENT_VECTOR_INTEGER_ICMP(sgt,Ty);
270 dbgs() << "Unhandled type for ICMP_SGT predicate: " << *Ty << "\n";
277 Type *Ty) {
279 switch (Ty->getTypeID()) {
280 IMPLEMENT_INTEGER_ICMP(ule,Ty);
281 IMPLEMENT_VECTOR_INTEGER_ICMP(ule,Ty);
284 dbgs() << "Unhandled type for ICMP_ULE predicate: " << *Ty << "\n";
291 Type *Ty) {
293 switch (Ty->getTypeID()) {
294 IMPLEMENT_INTEGER_ICMP(sle,Ty);
295 IMPLEMENT_VECTOR_INTEGER_ICMP(sle,Ty);
298 dbgs() << "Unhandled type for ICMP_SLE predicate: " << *Ty << "\n";
305 Type *Ty) {
307 switch (Ty->getTypeID()) {
308 IMPLEMENT_INTEGER_ICMP(uge,Ty);
309 IMPLEMENT_VECTOR_INTEGER_ICMP(uge,Ty);
312 dbgs() << "Unhandled type for ICMP_UGE predicate: " << *Ty << "\n";
319 Type *Ty) {
321 switch (Ty->getTypeID()) {
322 IMPLEMENT_INTEGER_ICMP(sge,Ty);
323 IMPLEMENT_VECTOR_INTEGER_ICMP(sge,Ty);
326 dbgs() << "Unhandled type for ICMP_SGE predicate: " << *Ty << "\n";
334 Type *Ty = I.getOperand(0)->getType();
340 case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break;
341 case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break;
342 case ICmpInst::ICMP_ULT: R = executeICMP_ULT(Src1, Src2, Ty); break;
343 case ICmpInst::ICMP_SLT: R = executeICMP_SLT(Src1, Src2, Ty); break;
344 case ICmpInst::ICMP_UGT: R = executeICMP_UGT(Src1, Src2, Ty); break;
345 case ICmpInst::ICMP_SGT: R = executeICMP_SGT(Src1, Src2, Ty); break;
346 case ICmpInst::ICMP_ULE: R = executeICMP_ULE(Src1, Src2, Ty); break;
347 case ICmpInst::ICMP_SLE: R = executeICMP_SLE(Src1, Src2, Ty); break;
348 case ICmpInst::ICMP_UGE: R = executeICMP_UGE(Src1, Src2, Ty); break;
349 case ICmpInst::ICMP_SGE: R = executeICMP_SGE(Src1, Src2, Ty); break;
374 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) { \
381 Type *Ty) {
383 switch (Ty->getTypeID()) {
388 dbgs() << "Unhandled type for FCmp EQ instruction: " << *Ty << "\n";
431 Type *Ty)
435 IMPLEMENT_SCALAR_NANS(Ty, Src1, Src2)
437 MASK_VECTOR_NANS(Ty, Src1, Src2, false)
439 switch (Ty->getTypeID()) {
444 dbgs() << "Unhandled type for FCmp NE instruction: " << *Ty << "\n";
448 if (Ty->isVectorTy())
457 Type *Ty) {
459 switch (Ty->getTypeID()) {
464 dbgs() << "Unhandled type for FCmp LE instruction: " << *Ty << "\n";
471 Type *Ty) {
473 switch (Ty->getTypeID()) {
478 dbgs() << "Unhandled type for FCmp GE instruction: " << *Ty << "\n";
485 Type *Ty) {
487 switch (Ty->getTypeID()) {
492 dbgs() << "Unhandled type for FCmp LT instruction: " << *Ty << "\n";
499 Type *Ty) {
501 switch (Ty->getTypeID()) {
506 dbgs() << "Unhandled type for FCmp GT instruction: " << *Ty << "\n";
526 Dest = FUNC(Src1, Src2, Ty); \
534 Type *Ty) {
536 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
537 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
538 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OEQ)
539 return executeFCMP_OEQ(Src1, Src2, Ty);
544 Type *Ty) {
546 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
547 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
548 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_ONE)
549 return executeFCMP_ONE(Src1, Src2, Ty);
553 Type *Ty) {
555 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
556 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
557 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLE)
558 return executeFCMP_OLE(Src1, Src2, Ty);
562 Type *Ty) {
564 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
565 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
566 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGE)
567 return executeFCMP_OGE(Src1, Src2, Ty);
571 Type *Ty) {
573 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
574 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
575 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLT)
576 return executeFCMP_OLT(Src1, Src2, Ty);
580 Type *Ty) {
582 IMPLEMENT_UNORDERED(Ty, Src1, Src2)
583 MASK_VECTOR_NANS(Ty, Src1, Src2, true)
584 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGT)
585 return executeFCMP_OGT(Src1, Src2, Ty);
589 Type *Ty) {
591 if(Ty->isVectorTy()) {
594 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) {
609 } else if (Ty->isFloatTy())
620 Type *Ty) {
622 if(Ty->isVectorTy()) {
625 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) {
640 } else if (Ty->isFloatTy())
651 Type *Ty, const bool val) {
653 if(Ty->isVectorTy()) {
667 Type *Ty = I.getOperand(0)->getType();
677 case FCmpInst::FCMP_FALSE: R = executeFCMP_BOOL(Src1, Src2, Ty, false);
679 case FCmpInst::FCMP_TRUE: R = executeFCMP_BOOL(Src1, Src2, Ty, true);
681 case FCmpInst::FCMP_ORD: R = executeFCMP_ORD(Src1, Src2, Ty); break;
682 case FCmpInst::FCMP_UNO: R = executeFCMP_UNO(Src1, Src2, Ty); break;
683 case FCmpInst::FCMP_UEQ: R = executeFCMP_UEQ(Src1, Src2, Ty); break;
684 case FCmpInst::FCMP_OEQ: R = executeFCMP_OEQ(Src1, Src2, Ty); break;
685 case FCmpInst::FCMP_UNE: R = executeFCMP_UNE(Src1, Src2, Ty); break;
686 case FCmpInst::FCMP_ONE: R = executeFCMP_ONE(Src1, Src2, Ty); break;
687 case FCmpInst::FCMP_ULT: R = executeFCMP_ULT(Src1, Src2, Ty); break;
688 case FCmpInst::FCMP_OLT: R = executeFCMP_OLT(Src1, Src2, Ty); break;
689 case FCmpInst::FCMP_UGT: R = executeFCMP_UGT(Src1, Src2, Ty); break;
690 case FCmpInst::FCMP_OGT: R = executeFCMP_OGT(Src1, Src2, Ty); break;
691 case FCmpInst::FCMP_ULE: R = executeFCMP_ULE(Src1, Src2, Ty); break;
692 case FCmpInst::FCMP_OLE: R = executeFCMP_OLE(Src1, Src2, Ty); break;
693 case FCmpInst::FCMP_UGE: R = executeFCMP_UGE(Src1, Src2, Ty); break;
694 case FCmpInst::FCMP_OGE: R = executeFCMP_OGE(Src1, Src2, Ty); break;
702 Type *Ty = I.getOperand(0)->getType();
708 if (Ty->isVectorTy()) {
735 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) \
738 if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) \
741 dbgs() << "Unhandled type for OP instruction: " << *Ty << "\n"; \
767 if (cast<VectorType>(Ty)->getElementType()->isFloatTy())
772 if (cast<VectorType>(Ty)->getElementType()->isDoubleTy())
777 dbgs() << "Unhandled type for Rem instruction: " << *Ty << "\n";
792 case Instruction::FAdd: executeFAddInst(R, Src1, Src2, Ty); break;
793 case Instruction::FSub: executeFSubInst(R, Src1, Src2, Ty); break;
794 case Instruction::FMul: executeFMulInst(R, Src1, Src2, Ty); break;
795 case Instruction::FDiv: executeFDivInst(R, Src1, Src2, Ty); break;
796 case Instruction::FRem: executeFRemInst(R, Src1, Src2, Ty); break;
810 GenericValue Src3, Type *Ty) {
812 if(Ty->isVectorTy()) {
827 Type * Ty = I.getOperand(0)->getType();
831 GenericValue R = executeSelectInst(Src1, Src2, Src3, Ty);
984 Type *Ty = I.getAllocatedType(); // Type to be allocated
990 unsigned TypeSize = (size_t)getDataLayout().getTypeAllocSize(Ty);
998 LLVM_DEBUG(dbgs() << "Allocated Type: " << *Ty << " (" << TypeSize
1155 Type *Ty = I.getType();
1157 if (Ty->isVectorTy()) {
1182 Type *Ty = I.getType();
1184 if (Ty->isVectorTy()) {
1209 Type *Ty = I.getType();
1211 if (Ty->isVectorTy()) {
1738 Type *Ty = I.getType();
1739 switch (Ty->getTypeID()) {
1747 dbgs() << "Unhandled dest type for vaarg instruction: " << *Ty << "\n";
1764 Type *Ty = I.getType();
1768 switch (Ty->getTypeID()) {
1771 << *Ty << "\n";
1793 VectorType *Ty = cast<VectorType>(I.getType());
1800 Type *TyContained = Ty->getElementType();
1826 VectorType *Ty = cast<VectorType>(I.getType());
1836 Type *TyContained = Ty->getElementType();