Lines Matching refs:builder_

178             return builder_.True();
180 return builder_.False();
204 result = flag ? builder_.False() : Circuit::NullGate();
221 result = flag ? builder_.False() : Circuit::NullGate();
419 return index == 0 ? builder_.Int32(val) : builder_.Boolean(ovf);
422 return (index == 0 ? m.Left().Gate() : builder_.Boolean(false));
431 return index == 0 ? builder_.Int32(val) : builder_.Boolean(ovf);
434 return (index == 0 ? m.Left().Gate() : builder_.Boolean(false));
443 return index == 0 ? builder_.Int32(val) : builder_.Boolean(ovf);
446 return (index == 0 ? builder_.Int32(0) : builder_.Boolean(false));
449 return (index == 0 ? m.Left().Gate() : builder_.Boolean(false));
468 return builder_.Int64(base::AddWithWraparound(m.Right().ResolvedValue(), m.Left().ResolvedValue()));
476 acc_.ReplaceValueIn(gate, builder_.Int64(base::AddWithWraparound(
494 return builder_.Int32(base::AddWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
501 auto newGate = builder_.Int32Sub(m.Right().Gate(), mleft.Right().Gate());
510 auto newGate = builder_.Int32Sub(m.Left().Gate(), mright.Right().Gate());
519 acc_.ReplaceValueIn(gate, builder_.Int32(base::AddWithWraparound(
535 return builder_.Int64(base::SubWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
539 return builder_.Int64(0);
544 builder_.Int64Add(m.Left().Gate(), builder_.Int64(base::NegateWithWraparound(m.Right().ResolvedValue())));
558 return builder_.Int32(base::SubWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
562 return builder_.Int32(0);
567 builder_.Int32Add(m.Left().Gate(), builder_.Int32(base::NegateWithWraparound(m.Right().ResolvedValue())));
586 return builder_.Int64(base::MulWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
590 auto newGate = builder_.Int64Sub(builder_.Int64(0), m.Left().Gate());
595 auto newGate = builder_.Int64LSL(m.Left().Gate(), builder_.Int64(
606 gate, builder_.Int64(base::MulWithWraparound(n.Right().ResolvedValue(), m.Right().ResolvedValue())), 1);
627 return builder_.Int32(base::MulWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
631 auto newGate = builder_.Int32Sub(builder_.Int32(0), m.Left().Gate());
636 auto newGate = builder_.Int32LSL(m.Left().Gate(), builder_.Int32(
647 gate, builder_.Int32(base::MulWithWraparound(n.Right().ResolvedValue(), m.Right().ResolvedValue())), 1);
673 return builder_.Int64(base::SignedDiv64(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
677 auto newGate = builder_.Int64Sub(builder_.Int64(0), m.Left().Gate());
685 auto newDiv = builder_.Int64Div(m.Left().Gate(), builder_.Int64(abs(m.Right().ResolvedValue())));
686 auto newGate = builder_.Int64Sub(builder_.Int64(0), newDiv);
710 return builder_.Int32(base::SignedDiv32(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
714 auto newGate = builder_.Int32Sub(builder_.Int32(0), m.Left().Gate());
722 auto newDiv = builder_.Int32Div(m.Left().Gate(), builder_.Int32(abs(m.Right().ResolvedValue())));
723 auto newGate = builder_.Int32Sub(builder_.Int32(0), newDiv);
735 return builder_.NanValue();
739 return builder_.NanValue();
743 return builder_.Double(m.Left().ResolvedValue() + m.Right().ResolvedValue());
752 return builder_.NanValue();
756 return builder_.NanValue();
760 return builder_.Double(m.Left().ResolvedValue() - m.Right().ResolvedValue());
769 auto newGate = builder_.DoubleSub(builder_.Double(-0.0), m.Left().Gate());
773 return builder_.NanValue();
776 return builder_.Double(m.Left().ResolvedValue() * m.Right().ResolvedValue());
779 auto newGate = builder_.DoubleAdd(m.Left().Gate(), m.Left().Gate());
790 return builder_.NanValue();
793 return builder_.NanValue();
796 return builder_.Double(base::Divide(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
815 return builder_.Int32(0);
819 return builder_.Int32(0);
823 return builder_.Int32(0);
827 return builder_.Int32(base::SignedMod32(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
837 return builder_.NanValue();
840 return builder_.NanValue();
843 return builder_.NanValue();
866 return builder_.Int64(static_cast<uint64_t>(m.Left().ResolvedValue()) &
877 auto newGate = builder_.Int64And(
878 mleft.Left().Gate(), builder_.Int64(static_cast<uint64_t>(m.Right().ResolvedValue()) &
903 return builder_.Int32(static_cast<uint32_t>(m.Left().ResolvedValue()) &
914 auto newGate = builder_.Int32And(
915 mleft.Left().Gate(), builder_.Int32(static_cast<uint32_t>(m.Right().ResolvedValue()) &
936 return builder_.Int64(static_cast<uint64_t>(m.Left().ResolvedValue()) |
970 return builder_.Int32(static_cast<uint32_t>(m.Left().ResolvedValue()) |
1001 return builder_.Int64(m.Left().ResolvedValue() ^ m.Right().ResolvedValue());
1004 return builder_.Int64(0); // x ^ x => 0
1025 return builder_.Int32(m.Left().ResolvedValue() ^ m.Right().ResolvedValue());
1028 return builder_.Int32(0); // x ^ x => 0
1049 return builder_.Int64(m.Left().ResolvedValue() >> (m.Right().ResolvedValue() & 63));
1063 return builder_.Int32(m.Left().ResolvedValue() >> (m.Right().ResolvedValue() & 31));
1072 return builder_.Int32(0);
1088 return builder_.Int64(m.Left().ResolvedValue() >> (m.Right().ResolvedValue() & 63));
1102 return builder_.Int32(m.Left().ResolvedValue() >> (m.Right().ResolvedValue() & 31));
1109 auto newGate = builder_.Int32Sub(builder_.Int32(0), mleft.Left().Gate());
1131 return builder_.Int64(base::ShlWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
1139 auto newGate = builder_.Int64And(
1140 mleft.Left().Gate(), builder_.Int64(std::numeric_limits<uint64_t>::max() << m.Right().ResolvedValue()));
1154 return builder_.Int32(base::ShlWithWraparound(m.Left().ResolvedValue(), m.Right().ResolvedValue()));
1163 auto newGate = builder_.Int32And(
1164 mleft.Left().Gate(), builder_.Int32(std::numeric_limits<uint64_t>::max() << m.Right().ResolvedValue()));