Lines Matching full:src1
105 Dest.TY##Val = Src1.TY##Val OP Src2.TY##Val; \
108 static void executeFAddInst(GenericValue &Dest, GenericValue Src1, in executeFAddInst() argument
119 static void executeFSubInst(GenericValue &Dest, GenericValue Src1, in executeFSubInst() argument
130 static void executeFMulInst(GenericValue &Dest, GenericValue Src1, in executeFMulInst() argument
141 static void executeFDivInst(GenericValue &Dest, GenericValue Src1, in executeFDivInst() argument
152 static void executeFRemInst(GenericValue &Dest, GenericValue Src1, in executeFRemInst() argument
156 Dest.FloatVal = fmod(Src1.FloatVal, Src2.FloatVal); in executeFRemInst()
159 Dest.DoubleVal = fmod(Src1.DoubleVal, Src2.DoubleVal); in executeFRemInst()
169 Dest.IntVal = APInt(1,Src1.IntVal.OP(Src2.IntVal)); \
175 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); \
176 Dest.AggregateVal.resize(Src1.AggregateVal.size()); \
177 for (uint32_t _i = 0; _i < Src1.AggregateVal.size(); _i++) \
179 1, Src1.AggregateVal[_i].IntVal.OP(Src2.AggregateVal[_i].IntVal)); \
188 Dest.IntVal = APInt(1,(void*)(intptr_t)Src1.PointerVal OP \
192 static GenericValue executeICMP_EQ(GenericValue Src1, GenericValue Src2, in executeICMP_EQ() argument
206 static GenericValue executeICMP_NE(GenericValue Src1, GenericValue Src2, in executeICMP_NE() argument
220 static GenericValue executeICMP_ULT(GenericValue Src1, GenericValue Src2, in executeICMP_ULT() argument
234 static GenericValue executeICMP_SLT(GenericValue Src1, GenericValue Src2, in executeICMP_SLT() argument
248 static GenericValue executeICMP_UGT(GenericValue Src1, GenericValue Src2, in executeICMP_UGT() argument
262 static GenericValue executeICMP_SGT(GenericValue Src1, GenericValue Src2, in executeICMP_SGT() argument
276 static GenericValue executeICMP_ULE(GenericValue Src1, GenericValue Src2, in executeICMP_ULE() argument
290 static GenericValue executeICMP_SLE(GenericValue Src1, GenericValue Src2, in executeICMP_SLE() argument
304 static GenericValue executeICMP_UGE(GenericValue Src1, GenericValue Src2, in executeICMP_UGE() argument
318 static GenericValue executeICMP_SGE(GenericValue Src1, GenericValue Src2, in executeICMP_SGE() argument
335 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitICmpInst() local
340 case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break; in visitICmpInst()
341 case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break; in visitICmpInst()
342 case ICmpInst::ICMP_ULT: R = executeICMP_ULT(Src1, Src2, Ty); break; in visitICmpInst()
343 case ICmpInst::ICMP_SLT: R = executeICMP_SLT(Src1, Src2, Ty); break; in visitICmpInst()
344 case ICmpInst::ICMP_UGT: R = executeICMP_UGT(Src1, Src2, Ty); break; in visitICmpInst()
345 case ICmpInst::ICMP_SGT: R = executeICMP_SGT(Src1, Src2, Ty); break; in visitICmpInst()
346 case ICmpInst::ICMP_ULE: R = executeICMP_ULE(Src1, Src2, Ty); break; in visitICmpInst()
347 case ICmpInst::ICMP_SLE: R = executeICMP_SLE(Src1, Src2, Ty); break; in visitICmpInst()
348 case ICmpInst::ICMP_UGE: R = executeICMP_UGE(Src1, Src2, Ty); break; in visitICmpInst()
349 case ICmpInst::ICMP_SGE: R = executeICMP_SGE(Src1, Src2, Ty); break; in visitICmpInst()
360 Dest.IntVal = APInt(1,Src1.TY##Val OP Src2.TY##Val); \
364 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); \
365 Dest.AggregateVal.resize( Src1.AggregateVal.size() ); \
366 for( uint32_t _i=0;_i<Src1.AggregateVal.size();_i++) \
368 Src1.AggregateVal[_i].TY##Val OP Src2.AggregateVal[_i].TY##Val);\
380 static GenericValue executeFCMP_OEQ(GenericValue Src1, GenericValue Src2, in executeFCMP_OEQ() argument
430 static GenericValue executeFCMP_ONE(GenericValue Src1, GenericValue Src2, in executeFCMP_ONE() argument
434 // if input is scalar value and Src1 or Src2 is NaN return false in executeFCMP_ONE()
435 IMPLEMENT_SCALAR_NANS(Ty, Src1, Src2) in executeFCMP_ONE()
437 MASK_VECTOR_NANS(Ty, Src1, Src2, false) in executeFCMP_ONE()
449 for( size_t _i=0; _i<Src1.AggregateVal.size(); _i++) in executeFCMP_ONE()
456 static GenericValue executeFCMP_OLE(GenericValue Src1, GenericValue Src2, in executeFCMP_OLE() argument
470 static GenericValue executeFCMP_OGE(GenericValue Src1, GenericValue Src2, in executeFCMP_OGE() argument
484 static GenericValue executeFCMP_OLT(GenericValue Src1, GenericValue Src2, in executeFCMP_OLT() argument
498 static GenericValue executeFCMP_OGT(GenericValue Src1, GenericValue Src2, in executeFCMP_OGT() argument
526 Dest = FUNC(Src1, Src2, Ty); \
527 for (size_t _i = 0; _i < Src1.AggregateVal.size(); _i++) \
533 static GenericValue executeFCMP_UEQ(GenericValue Src1, GenericValue Src2, in executeFCMP_UEQ() argument
536 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UEQ()
537 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UEQ()
538 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OEQ) in executeFCMP_UEQ()
539 return executeFCMP_OEQ(Src1, Src2, Ty); in executeFCMP_UEQ()
543 static GenericValue executeFCMP_UNE(GenericValue Src1, GenericValue Src2, in executeFCMP_UNE() argument
546 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UNE()
547 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UNE()
548 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_ONE) in executeFCMP_UNE()
549 return executeFCMP_ONE(Src1, Src2, Ty); in executeFCMP_UNE()
552 static GenericValue executeFCMP_ULE(GenericValue Src1, GenericValue Src2, in executeFCMP_ULE() argument
555 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_ULE()
556 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_ULE()
557 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLE) in executeFCMP_ULE()
558 return executeFCMP_OLE(Src1, Src2, Ty); in executeFCMP_ULE()
561 static GenericValue executeFCMP_UGE(GenericValue Src1, GenericValue Src2, in executeFCMP_UGE() argument
564 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UGE()
565 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UGE()
566 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGE) in executeFCMP_UGE()
567 return executeFCMP_OGE(Src1, Src2, Ty); in executeFCMP_UGE()
570 static GenericValue executeFCMP_ULT(GenericValue Src1, GenericValue Src2, in executeFCMP_ULT() argument
573 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_ULT()
574 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_ULT()
575 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLT) in executeFCMP_ULT()
576 return executeFCMP_OLT(Src1, Src2, Ty); in executeFCMP_ULT()
579 static GenericValue executeFCMP_UGT(GenericValue Src1, GenericValue Src2, in executeFCMP_UGT() argument
582 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UGT()
583 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UGT()
584 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGT) in executeFCMP_UGT()
585 return executeFCMP_OGT(Src1, Src2, Ty); in executeFCMP_UGT()
588 static GenericValue executeFCMP_ORD(GenericValue Src1, GenericValue Src2, in executeFCMP_ORD() argument
592 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); in executeFCMP_ORD()
593 Dest.AggregateVal.resize( Src1.AggregateVal.size() ); in executeFCMP_ORD()
595 for( size_t _i=0;_i<Src1.AggregateVal.size();_i++) in executeFCMP_ORD()
597 ( (Src1.AggregateVal[_i].FloatVal == in executeFCMP_ORD()
598 Src1.AggregateVal[_i].FloatVal) && in executeFCMP_ORD()
602 for( size_t _i=0;_i<Src1.AggregateVal.size();_i++) in executeFCMP_ORD()
604 ( (Src1.AggregateVal[_i].DoubleVal == in executeFCMP_ORD()
605 Src1.AggregateVal[_i].DoubleVal) && in executeFCMP_ORD()
610 Dest.IntVal = APInt(1,(Src1.FloatVal == Src1.FloatVal && in executeFCMP_ORD()
613 Dest.IntVal = APInt(1,(Src1.DoubleVal == Src1.DoubleVal && in executeFCMP_ORD()
619 static GenericValue executeFCMP_UNO(GenericValue Src1, GenericValue Src2, in executeFCMP_UNO() argument
623 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); in executeFCMP_UNO()
624 Dest.AggregateVal.resize( Src1.AggregateVal.size() ); in executeFCMP_UNO()
626 for( size_t _i=0;_i<Src1.AggregateVal.size();_i++) in executeFCMP_UNO()
628 ( (Src1.AggregateVal[_i].FloatVal != in executeFCMP_UNO()
629 Src1.AggregateVal[_i].FloatVal) || in executeFCMP_UNO()
633 for( size_t _i=0;_i<Src1.AggregateVal.size();_i++) in executeFCMP_UNO()
635 ( (Src1.AggregateVal[_i].DoubleVal != in executeFCMP_UNO()
636 Src1.AggregateVal[_i].DoubleVal) || in executeFCMP_UNO()
641 Dest.IntVal = APInt(1,(Src1.FloatVal != Src1.FloatVal || in executeFCMP_UNO()
644 Dest.IntVal = APInt(1,(Src1.DoubleVal != Src1.DoubleVal || in executeFCMP_UNO()
650 static GenericValue executeFCMP_BOOL(GenericValue Src1, GenericValue Src2, in executeFCMP_BOOL() argument
654 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); in executeFCMP_BOOL()
655 Dest.AggregateVal.resize( Src1.AggregateVal.size() ); in executeFCMP_BOOL()
656 for( size_t _i=0; _i<Src1.AggregateVal.size(); _i++) in executeFCMP_BOOL()
668 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitFCmpInst() local
677 case FCmpInst::FCMP_FALSE: R = executeFCMP_BOOL(Src1, Src2, Ty, false); in visitFCmpInst()
679 case FCmpInst::FCMP_TRUE: R = executeFCMP_BOOL(Src1, Src2, Ty, true); in visitFCmpInst()
681 case FCmpInst::FCMP_ORD: R = executeFCMP_ORD(Src1, Src2, Ty); break; in visitFCmpInst()
682 case FCmpInst::FCMP_UNO: R = executeFCMP_UNO(Src1, Src2, Ty); break; in visitFCmpInst()
683 case FCmpInst::FCMP_UEQ: R = executeFCMP_UEQ(Src1, Src2, Ty); break; in visitFCmpInst()
684 case FCmpInst::FCMP_OEQ: R = executeFCMP_OEQ(Src1, Src2, Ty); break; in visitFCmpInst()
685 case FCmpInst::FCMP_UNE: R = executeFCMP_UNE(Src1, Src2, Ty); break; in visitFCmpInst()
686 case FCmpInst::FCMP_ONE: R = executeFCMP_ONE(Src1, Src2, Ty); break; in visitFCmpInst()
687 case FCmpInst::FCMP_ULT: R = executeFCMP_ULT(Src1, Src2, Ty); break; in visitFCmpInst()
688 case FCmpInst::FCMP_OLT: R = executeFCMP_OLT(Src1, Src2, Ty); break; in visitFCmpInst()
689 case FCmpInst::FCMP_UGT: R = executeFCMP_UGT(Src1, Src2, Ty); break; in visitFCmpInst()
690 case FCmpInst::FCMP_OGT: R = executeFCMP_OGT(Src1, Src2, Ty); break; in visitFCmpInst()
691 case FCmpInst::FCMP_ULE: R = executeFCMP_ULE(Src1, Src2, Ty); break; in visitFCmpInst()
692 case FCmpInst::FCMP_OLE: R = executeFCMP_OLE(Src1, Src2, Ty); break; in visitFCmpInst()
693 case FCmpInst::FCMP_UGE: R = executeFCMP_UGE(Src1, Src2, Ty); break; in visitFCmpInst()
694 case FCmpInst::FCMP_OGE: R = executeFCMP_OGE(Src1, Src2, Ty); break; in visitFCmpInst()
703 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitBinaryOperator() local
709 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); in visitBinaryOperator()
710 R.AggregateVal.resize(Src1.AggregateVal.size()); in visitBinaryOperator()
716 Src1.AggregateVal[i].IntVal OP Src2.AggregateVal[i].IntVal; in visitBinaryOperator()
723 Src1.AggregateVal[i].IntVal.OP(Src2.AggregateVal[i].IntVal); in visitBinaryOperator()
730 Src1.AggregateVal[i].TY OP Src2.AggregateVal[i].TY; in visitBinaryOperator()
770 fmod(Src1.AggregateVal[i].FloatVal, Src2.AggregateVal[i].FloatVal); in visitBinaryOperator()
775 fmod(Src1.AggregateVal[i].DoubleVal, Src2.AggregateVal[i].DoubleVal); in visitBinaryOperator()
789 case Instruction::Add: R.IntVal = Src1.IntVal + Src2.IntVal; break; in visitBinaryOperator()
790 case Instruction::Sub: R.IntVal = Src1.IntVal - Src2.IntVal; break; in visitBinaryOperator()
791 case Instruction::Mul: R.IntVal = Src1.IntVal * Src2.IntVal; break; in visitBinaryOperator()
792 case Instruction::FAdd: executeFAddInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
793 case Instruction::FSub: executeFSubInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
794 case Instruction::FMul: executeFMulInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
795 case Instruction::FDiv: executeFDivInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
796 case Instruction::FRem: executeFRemInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
797 case Instruction::UDiv: R.IntVal = Src1.IntVal.udiv(Src2.IntVal); break; in visitBinaryOperator()
798 case Instruction::SDiv: R.IntVal = Src1.IntVal.sdiv(Src2.IntVal); break; in visitBinaryOperator()
799 case Instruction::URem: R.IntVal = Src1.IntVal.urem(Src2.IntVal); break; in visitBinaryOperator()
800 case Instruction::SRem: R.IntVal = Src1.IntVal.srem(Src2.IntVal); break; in visitBinaryOperator()
801 case Instruction::And: R.IntVal = Src1.IntVal & Src2.IntVal; break; in visitBinaryOperator()
802 case Instruction::Or: R.IntVal = Src1.IntVal | Src2.IntVal; break; in visitBinaryOperator()
803 case Instruction::Xor: R.IntVal = Src1.IntVal ^ Src2.IntVal; break; in visitBinaryOperator()
809 static GenericValue executeSelectInst(GenericValue Src1, GenericValue Src2, in executeSelectInst() argument
813 assert(Src1.AggregateVal.size() == Src2.AggregateVal.size()); in executeSelectInst()
815 Dest.AggregateVal.resize( Src1.AggregateVal.size() ); in executeSelectInst()
816 for (size_t i = 0; i < Src1.AggregateVal.size(); ++i) in executeSelectInst()
817 Dest.AggregateVal[i] = (Src1.AggregateVal[i].IntVal == 0) ? in executeSelectInst()
820 Dest = (Src1.IntVal == 0) ? Src3 : Src2; in executeSelectInst()
828 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitSelectInst() local
831 GenericValue R = executeSelectInst(Src1, Src2, Src3, Ty); in visitSelectInst()
1152 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitShl() local
1158 uint32_t src1Size = uint32_t(Src1.AggregateVal.size()); in visitShl()
1163 llvm::APInt valueToShift = Src1.AggregateVal[i].IntVal; in visitShl()
1170 llvm::APInt valueToShift = Src1.IntVal; in visitShl()
1179 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitLShr() local
1185 uint32_t src1Size = uint32_t(Src1.AggregateVal.size()); in visitLShr()
1190 llvm::APInt valueToShift = Src1.AggregateVal[i].IntVal; in visitLShr()
1197 llvm::APInt valueToShift = Src1.IntVal; in visitLShr()
1206 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitAShr() local
1212 size_t src1Size = Src1.AggregateVal.size(); in visitAShr()
1217 llvm::APInt valueToShift = Src1.AggregateVal[i].IntVal; in visitAShr()
1224 llvm::APInt valueToShift = Src1.IntVal; in visitAShr()
1760 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitExtractElementInst() local
1767 if(Src1.AggregateVal.size() > indx) { in visitExtractElementInst()
1775 Dest.IntVal = Src1.AggregateVal[indx].IntVal; in visitExtractElementInst()
1778 Dest.FloatVal = Src1.AggregateVal[indx].FloatVal; in visitExtractElementInst()
1781 Dest.DoubleVal = Src1.AggregateVal[indx].DoubleVal; in visitExtractElementInst()
1795 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitInsertElementInst() local
1803 Dest.AggregateVal = Src1.AggregateVal; in visitInsertElementInst()
1805 if(Src1.AggregateVal.size() <= indx) in visitInsertElementInst()
1828 GenericValue Src1 = getOperandValue(I.getOperand(0), SF); in visitShuffleVectorInst() local
1832 // There is no need to check types of src1 and src2, because the compiled in visitShuffleVectorInst()
1833 // bytecode can't contain different types for src1 and src2 for a in visitShuffleVectorInst()
1837 unsigned src1Size = (unsigned)Src1.AggregateVal.size(); in visitShuffleVectorInst()
1851 Dest.AggregateVal[i].IntVal = Src1.AggregateVal[j].IntVal; in visitShuffleVectorInst()
1867 Dest.AggregateVal[i].FloatVal = Src1.AggregateVal[j].FloatVal; in visitShuffleVectorInst()
1878 Dest.AggregateVal[i].DoubleVal = Src1.AggregateVal[j].DoubleVal; in visitShuffleVectorInst()
1938 GenericValue Src1 = getOperandValue(Agg, SF); in visitInsertValueInst() local
1940 GenericValue Dest = Src1; // Dest is a slightly changed Src1 in visitInsertValueInst()