Lines Matching refs:vals
2658 std::vector<llvm::Value*> vals(instructions.size());
2698 vals[i] = b->CreateSub(b->CreateVectorSplat(K, n),
2701 vals[i] = n;
2709 vals[i] = b->CreateZExt(
2714 case Op::splat: vals[i] = llvm::ConstantInt::get(I32, immA); break;
2722 vals[i] = I32->isVectorTy() ? b->CreateVectorSplat(K, val)
2736 llvm::Value* ptr = b->CreateInBoundsGEP(t, base, vals[x]);
2746 vals[i] = b->CreateZExt(gathered, I32);
2753 llvm::Value* val = b->CreateTrunc(vals[x], t);
2756 vals[i] = b->CreateAlignedStore(val, ptr, llvm::MaybeAlign{1});
2759 case Op::bit_and: vals[i] = b->CreateAnd(vals[x], vals[y]); break;
2760 case Op::bit_or : vals[i] = b->CreateOr (vals[x], vals[y]); break;
2761 case Op::bit_xor: vals[i] = b->CreateXor(vals[x], vals[y]); break;
2762 case Op::bit_clear: vals[i] = b->CreateAnd(vals[x], b->CreateNot(vals[y])); break;
2765 vals[i] = b->CreateSelect(b->CreateTrunc(vals[x], I1), vals[y], vals[z]);
2768 case Op::add_i32: vals[i] = b->CreateAdd(vals[x], vals[y]); break;
2769 case Op::sub_i32: vals[i] = b->CreateSub(vals[x], vals[y]); break;
2770 case Op::mul_i32: vals[i] = b->CreateMul(vals[x], vals[y]); break;
2772 case Op::shl_i32: vals[i] = b->CreateShl (vals[x], immA); break;
2773 case Op::sra_i32: vals[i] = b->CreateAShr(vals[x], immA); break;
2774 case Op::shr_i32: vals[i] = b->CreateLShr(vals[x], immA); break;
2776 case Op:: eq_i32: vals[i] = S(I32, b->CreateICmpEQ (vals[x], vals[y])); break;
2777 case Op:: gt_i32: vals[i] = S(I32, b->CreateICmpSGT(vals[x], vals[y])); break;
2779 case Op::add_f32: vals[i] = I(b->CreateFAdd(F(vals[x]), F(vals[y]))); break;
2780 case Op::sub_f32: vals[i] = I(b->CreateFSub(F(vals[x]), F(vals[y]))); break;
2781 case Op::mul_f32: vals[i] = I(b->CreateFMul(F(vals[x]), F(vals[y]))); break;
2782 case Op::div_f32: vals[i] = I(b->CreateFDiv(F(vals[x]), F(vals[y]))); break;
2784 case Op:: eq_f32: vals[i] = S(I32, b->CreateFCmpOEQ(F(vals[x]), F(vals[y]))); break;
2785 case Op::neq_f32: vals[i] = S(I32, b->CreateFCmpUNE(F(vals[x]), F(vals[y]))); break;
2786 case Op:: gt_f32: vals[i] = S(I32, b->CreateFCmpOGT(F(vals[x]), F(vals[y]))); break;
2787 case Op::gte_f32: vals[i] = S(I32, b->CreateFCmpOGE(F(vals[x]), F(vals[y]))); break;
2790 vals[i] = I(b->CreateIntrinsic(llvm::Intrinsic::fma, {F32},
2791 {F(vals[x]), F(vals[y]), F(vals[z])}));
2795 vals[i] = I(b->CreateIntrinsic(llvm::Intrinsic::fma, {F32},
2796 {F(vals[x]), F(vals[y]),
2797 b->CreateFNeg(F(vals[z]))}));
2801 vals[i] = I(b->CreateIntrinsic(llvm::Intrinsic::fma, {F32},
2802 {b->CreateFNeg(F(vals[x])), F(vals[y]),
2803 F(vals[z])}));
2807 vals[i] = I(b->CreateUnaryIntrinsic(llvm::Intrinsic::ceil, F(vals[x])));
2810 vals[i] = I(b->CreateUnaryIntrinsic(llvm::Intrinsic::floor, F(vals[x])));
2814 vals[i] = I(b->CreateSelect(b->CreateFCmpOLT(F(vals[x]), F(vals[y])),
2815 F(vals[y]), F(vals[x])));
2818 vals[i] = I(b->CreateSelect(b->CreateFCmpOLT(F(vals[y]), F(vals[x])),
2819 F(vals[y]), F(vals[x])));
2823 vals[i] = I(b->CreateUnaryIntrinsic(llvm::Intrinsic::sqrt, F(vals[x])));
2826 case Op::to_f32: vals[i] = I(b->CreateSIToFP( vals[x] , F32)); break;
2827 case Op::trunc : vals[i] = b->CreateFPToSI(F(vals[x]), I32) ; break;
2830 auto round = b->CreateUnaryIntrinsic(llvm::Intrinsic::rint, F(vals[x]));
2831 vals[i] = b->CreateFPToSI(round, I32);
2839 v = b->CreateInsertElement(v, F(vals[x]), (uint64_t)0);
2840 vals[i] = b->CreateIntrinsic(llvm::Intrinsic::x86_sse_cvtss2si, {}, {v});
2845 vals[i] = b->CreateIntrinsic(intr, {}, {F(vals[x])});