• Home
  • Raw
  • Download

Lines Matching +full:0 +full:x

25 GateRef CircuitBuilder::Int8Equal(GateRef x, GateRef y)  in Int8Equal()  argument
27 return Equal(x, y); in Int8Equal()
30 GateRef CircuitBuilder::Int32NotEqual(GateRef x, GateRef y) in Int32NotEqual() argument
32 return NotEqual(x, y); in Int32NotEqual()
35 GateRef CircuitBuilder::Int64NotEqual(GateRef x, GateRef y) in Int64NotEqual() argument
37 return NotEqual(x, y); in Int64NotEqual()
40 GateRef CircuitBuilder::Int64Equal(GateRef x, GateRef y) in Int64Equal() argument
42 return Equal(x, y); in Int64Equal()
45 GateRef CircuitBuilder::Int32Equal(GateRef x, GateRef y) in Int32Equal() argument
47 return Equal(x, y); in Int32Equal()
50 GateRef CircuitBuilder::IntPtrGreaterThan(GateRef x, GateRef y) in IntPtrGreaterThan() argument
52 return env_->Is32Bit() ? Int32GreaterThan(x, y) : Int64GreaterThan(x, y); in IntPtrGreaterThan()
55 GateRef CircuitBuilder::IntPtrAnd(GateRef x, GateRef y) in IntPtrAnd() argument
57 return env_->Is32Bit() ? Int32And(x, y) : Int64And(x, y); in IntPtrAnd()
60 GateRef CircuitBuilder::IntPtrNot(GateRef x) in IntPtrNot() argument
62 return env_->Is32Bit() ? Int32Not(x) : Int64Not(x); in IntPtrNot()
65 GateRef CircuitBuilder::IntPtrEqual(GateRef x, GateRef y) in IntPtrEqual() argument
67 return env_->Is32Bit() ? Int32Equal(x, y) : Int64Equal(x, y); in IntPtrEqual()
70 GateRef CircuitBuilder::IntPtrLSR(GateRef x, GateRef y) in IntPtrLSR() argument
73 return BinaryArithmetic(circuit_->Lsr(), ptrSize, x, y); in IntPtrLSR()
76 GateRef CircuitBuilder::IntPtrLSL(GateRef x, GateRef y) in IntPtrLSL() argument
79 return BinaryArithmetic(circuit_->Lsl(), ptrSize, x, y); in IntPtrLSL()
82 GateRef CircuitBuilder::Int16ToBigEndianInt16(GateRef x) in Int16ToBigEndianInt16() argument
84 GateRef int16toint32 = ZExtInt16ToInt32(x); in Int16ToBigEndianInt16()
85 GateRef high8bits = Int32LSL(Int32And(int16toint32, Int32(0x00FF)), Int32(8)); in Int16ToBigEndianInt16()
86 GateRef low8bits = Int32LSR(Int32And(int16toint32, Int32(0xFF00)), Int32(8)); in Int16ToBigEndianInt16()
90 GateRef CircuitBuilder::Int32ToBigEndianInt32(GateRef x) in Int32ToBigEndianInt32() argument
92 GateRef first8bits = Int32LSL(Int32And(x, Int32(0x000000FF)), Int32(24)); in Int32ToBigEndianInt32()
93 GateRef second8bits = Int32LSL(Int32And(x, Int32(0x0000FF00)), Int32(8)); in Int32ToBigEndianInt32()
94 GateRef third8bits = Int32LSR(Int32And(x, Int32(0x00FF0000)), Int32(8)); in Int32ToBigEndianInt32()
95 GateRef fourth8bits = Int32LSR(Int32And(x, Int32(0xFF000000)), Int32(24)); in Int32ToBigEndianInt32()
101 GateRef CircuitBuilder::Int64ToBigEndianInt64(GateRef x) in Int64ToBigEndianInt64() argument
103 GateRef first8bits = Int64LSL(Int64And(x, Int64(0x00000000000000FF)), Int64(56)); in Int64ToBigEndianInt64()
104 GateRef second8bits = Int64LSL(Int64And(x, Int64(0x000000000000FF00)), Int64(40)); in Int64ToBigEndianInt64()
105 // 0-16bits in Int64ToBigEndianInt64()
107 GateRef third8bits = Int64LSL(Int64And(x, Int64(0x0000000000FF0000)), Int64(24)); in Int64ToBigEndianInt64()
108 GateRef fourth8bits = Int64LSL(Int64And(x, Int64(0x00000000FF000000)), Int64(8)); in Int64ToBigEndianInt64()
111 // 0-32bits in Int64ToBigEndianInt64()
113 GateRef fifth8bits = Int64LSR(Int64And(x, Int64(0x000000FF00000000)), Int64(8)); in Int64ToBigEndianInt64()
114 GateRef sixth8bits = Int64LSR(Int64And(x, Int64(0x0000FF0000000000)), Int64(24)); in Int64ToBigEndianInt64()
117 GateRef seventh8bits = Int64LSR(Int64And(x, Int64(0x00FF000000000000)), Int64(40)); in Int64ToBigEndianInt64()
118 GateRef eighth8bits = Int64LSR(Int64And(x, Int64(0xFF00000000000000)), Int64(56)); in Int64ToBigEndianInt64()
123 //0-64bits in Int64ToBigEndianInt64()
127 GateRef CircuitBuilder::IntPtrOr(GateRef x, GateRef y) in IntPtrOr() argument
130 return BinaryArithmetic(circuit_->Or(), ptrsize, x, y); in IntPtrOr()
133 GateRef CircuitBuilder::IntPtrDiv(GateRef x, GateRef y) in IntPtrDiv() argument
135 return env_->Is32Bit() ? Int32Div(x, y) : Int64Div(x, y); in IntPtrDiv()
138 GateRef CircuitBuilder::GetInt64OfTInt(GateRef x) in GetInt64OfTInt() argument
140 GateRef tagged = ChangeTaggedPointerToInt64(x); in GetInt64OfTInt()
144 GateRef CircuitBuilder::GetInt32OfTInt(GateRef x) in GetInt32OfTInt() argument
146 GateRef tagged = ChangeTaggedPointerToInt64(x); in GetInt32OfTInt()
150 GateRef CircuitBuilder::GetInt32OfTNumber(GateRef x) in GetInt32OfTNumber() argument
157 DEFVALUE(result, env_, VariableType::INT32(), Int32(0)); in GetInt32OfTNumber()
158 BRANCH_CIR2(TaggedIsInt(x), &isInt, &isDouble); in GetInt32OfTNumber()
161 result = GetInt32OfTInt(x); in GetInt32OfTNumber()
166 result = DoubleCheckINFInRangeInt32(GetDoubleOfTDouble(x)); in GetInt32OfTNumber()
175 GateRef CircuitBuilder::TaggedCastToIntPtr(GateRef x) in TaggedCastToIntPtr() argument
177 return env_->Is32Bit() ? GetInt32OfTInt(x) : GetInt64OfTInt(x); in TaggedCastToIntPtr()
180 GateRef CircuitBuilder::GetDoubleOfTInt(GateRef x) in GetDoubleOfTInt() argument
182 return ChangeInt32ToFloat64(GetInt32OfTInt(x)); in GetDoubleOfTInt()
185 GateRef CircuitBuilder::GetDoubleOfTDouble(GateRef x) in GetDoubleOfTDouble() argument
187 GateRef tagged = ChangeTaggedPointerToInt64(x); in GetDoubleOfTDouble()
192 GateRef CircuitBuilder::GetBooleanOfTBoolean(GateRef x) in GetBooleanOfTBoolean() argument
194 GateRef tagged = ChangeTaggedPointerToInt64(x); in GetBooleanOfTBoolean()
198 GateRef CircuitBuilder::Int32ToTaggedInt(GateRef x) in Int32ToTaggedInt() argument
200 GateRef val = SExtInt32ToInt64(x); in Int32ToTaggedInt()
204 GateRef CircuitBuilder::Int32ToTaggedPtr(GateRef x) in Int32ToTaggedPtr() argument
206 GateRef val = SExtInt32ToInt64(x); in Int32ToTaggedPtr()
210 GateRef CircuitBuilder::Int64ToTaggedPtr(GateRef x) in Int64ToTaggedPtr() argument
213 MachineType::I64, { x }, GateType::TaggedValue()); in Int64ToTaggedPtr()
216 GateRef CircuitBuilder::ToTaggedInt(GateRef x) in ToTaggedInt() argument
218 return Int64Or(x, Int64(JSTaggedValue::TAG_INT)); in ToTaggedInt()
221 GateRef CircuitBuilder::ToTaggedIntPtr(GateRef x) in ToTaggedIntPtr() argument
223 return Int64ToTaggedPtr(Int64Or(x, Int64(JSTaggedValue::TAG_INT))); in ToTaggedIntPtr()
226 GateRef CircuitBuilder::DoubleToTaggedDoublePtr(GateRef x) in DoubleToTaggedDoublePtr() argument
228 GateRef val = CastDoubleToInt64(x); in DoubleToTaggedDoublePtr()
232 GateRef CircuitBuilder::DoubleIsImpureNaN(GateRef x) in DoubleIsImpureNaN() argument
235 GateRef val = CastDoubleToInt64(x); in DoubleIsImpureNaN()
239 GateRef CircuitBuilder::BooleanToTaggedBooleanPtr(GateRef x) in BooleanToTaggedBooleanPtr() argument
241 auto val = ZExtInt1ToInt64(x); in BooleanToTaggedBooleanPtr()
245 GateRef CircuitBuilder::BooleanToInt32(GateRef x) in BooleanToInt32() argument
247 return ZExtInt1ToInt32(x); in BooleanToInt32()
250 GateRef CircuitBuilder::BooleanToFloat64(GateRef x) in BooleanToFloat64() argument
252 return ChangeInt32ToFloat64(ZExtInt1ToInt32(x)); in BooleanToFloat64()
255 GateRef CircuitBuilder::Float32ToTaggedDoublePtr(GateRef x) in Float32ToTaggedDoublePtr() argument
257 GateRef val = ExtFloat32ToDouble(x); in Float32ToTaggedDoublePtr()
261 GateRef CircuitBuilder::TaggedDoublePtrToFloat32(GateRef x) in TaggedDoublePtrToFloat32() argument
263 GateRef val = GetDoubleOfTDouble(x); in TaggedDoublePtrToFloat32()
267 GateRef CircuitBuilder::TaggedIntPtrToFloat32(GateRef x) in TaggedIntPtrToFloat32() argument
269 GateRef val = GetInt32OfTInt(x); in TaggedIntPtrToFloat32()
273 GateRef CircuitBuilder::DoubleToTaggedDouble(GateRef x) in DoubleToTaggedDouble() argument
275 GateRef val = CastDoubleToInt64(x); in DoubleToTaggedDouble()
279 GateRef CircuitBuilder::DoubleIsNAN(GateRef x) in DoubleIsNAN() argument
281 GateRef diff = DoubleEqual(x, x); in DoubleIsNAN()
282 return Equal(SExtInt1ToInt32(diff), Int32(0)); in DoubleIsNAN()
285 GateRef CircuitBuilder::DoubleToTagged(GateRef x) in DoubleToTagged() argument
287 GateRef val = CastDoubleToInt64(x); in DoubleToTagged()
293 GateRef CircuitBuilder::BinaryOp(GateRef x, GateRef y) in BinaryOp() argument
296 return BinaryArithmetic(circuit_->Add(), Type, x, y); in BinaryOp()
298 return BinaryArithmetic(circuit_->Sub(), Type, x, y); in BinaryOp()
300 return BinaryArithmetic(circuit_->Mul(), Type, x, y); in BinaryOp()
307 GateRef CircuitBuilder::BinaryOpWithOverflow(GateRef x, GateRef y) in BinaryOpWithOverflow() argument
310 return BinaryArithmetic(circuit_->AddWithOverflow(), Type, x, y); in BinaryOpWithOverflow()
312 return BinaryArithmetic(circuit_->SubWithOverflow(), Type, x, y); in BinaryOpWithOverflow()
314 return BinaryArithmetic(circuit_->MulWithOverflow(), Type, x, y); in BinaryOpWithOverflow()
320 GateRef CircuitBuilder::Equal(GateRef x, GateRef y, const char* comment) in Equal() argument
322 auto xType = acc_.GetMachineType(x); in Equal()
331 … return BinaryCmp(circuit_->Icmp(static_cast<uint64_t>(ICmpCondition::EQ)), x, y, comment); in Equal()
334 … return BinaryCmp(circuit_->Fcmp(static_cast<uint64_t>(FCmpCondition::OEQ)), x, y, comment); in Equal()
341 GateRef CircuitBuilder::NotEqual(GateRef x, GateRef y, const char* comment) in NotEqual() argument
343 auto xType = acc_.GetMachineType(x); in NotEqual()
352 … return BinaryCmp(circuit_->Icmp(static_cast<uint64_t>(ICmpCondition::NE)), x, y, comment); in NotEqual()
355 … return BinaryCmp(circuit_->Fcmp(static_cast<uint64_t>(FCmpCondition::ONE)), x, y, comment); in NotEqual()