Lines Matching full:loc
53 Value getConstantValue(Location loc, Type type, int64_t value,
56 loc, getConstantAttr(type, value, rewriter));
68 Location loc = op.getLoc();
77 Value zero = getConstantValue(loc, valueTy, 0, rewriter);
78 Value one64 = getConstantValue(loc, i64Ty, 1, rewriter);
79 Value thirtyOne32 = getConstantValue(loc, i32Ty, 31, rewriter);
81 Value shift32 = rewriter.create<arith::ExtUIOp>(loc, i32Ty, op.getShift());
86 value64 = rewriter.create<arith::ExtSIOp>(loc, i64Ty, value);
88 rewriter.create<arith::ExtSIOp>(loc, i64Ty, multiplier32);
90 rewriter.create<arith::MulIOp>(loc, value64, multiplier64);
93 Value shift64 = rewriter.create<arith::ExtUIOp>(loc, i64Ty, shift32);
94 Value round = rewriter.create<arith::ShLIOp>(loc, one64, shift64);
95 round = rewriter.create<arith::ShRUIOp>(loc, round, one64);
96 multiply64 = rewriter.create<arith::AddIOp>(loc, multiply64, round);
101 Value roundUp = getConstantValue(loc, i64Ty, roundInt, rewriter);
102 Value roundDown = getConstantValue(loc, i64Ty, -roundInt, rewriter);
104 loc, arith::CmpIPredicate::sge, value, zero);
106 rewriter.create<arith::SelectOp>(loc, positive, roundUp, roundDown);
107 Value val = rewriter.create<arith::AddIOp>(loc, dir, multiply64);
109 loc, arith::CmpIPredicate::sgt, shift32, thirtyOne32);
111 rewriter.create<arith::SelectOp>(loc, valid, val, multiply64);
114 Value result64 = rewriter.create<arith::ShRSIOp>(loc, multiply64, shift64);
115 Value result32 = rewriter.create<arith::TruncIOp>(loc, i32Ty, result64);
128 Location loc = op.getLoc();
140 Value shift32 = rewriter.create<arith::ExtUIOp>(loc, i32Ty, op.getShift());
143 Value zero32 = getConstantValue(loc, i32Ty, 0, rewriter);
144 Value one32 = getConstantValue(loc, i32Ty, 1, rewriter);
145 Value two32 = getConstantValue(loc, i32Ty, 2, rewriter);
146 Value thirty32 = getConstantValue(loc, i32Ty, 30, rewriter);
147 Value thirtyTwo32 = getConstantValue(loc, i32Ty, 32, rewriter);
152 rewriter.create<arith::MulSIExtendedOp>(loc, value32, multiplier32);
158 loc, arith::CmpIPredicate::sge, shift32, thirtyTwo32);
160 loc, arith::CmpIPredicate::sgt, shift32, thirtyTwo32);
163 rewriter.create<arith::SubIOp>(loc, thirtyTwo32, shift32);
165 rewriter.create<arith::SubIOp>(loc, shift32, thirtyTwo32);
168 rewriter.create<arith::SelectOp>(loc, shiftOver32, zero32, shiftHighL);
170 rewriter.create<arith::SelectOp>(loc, shiftOver32, shiftHighR, zero32);
174 Value negOne32 = getConstantValue(loc, i32Ty, -1, rewriter);
176 loc, arith::CmpIPredicate::sge, value32, zero32);
179 rewriter.create<arith::SelectOp>(loc, valuePositive, one32, negOne32);
181 rewriter.create<arith::SelectOp>(loc, shiftOver32, roundDir, zero32);
183 Value shiftLow = rewriter.create<arith::ShRUIOp>(loc, low32, thirty32);
184 Value rounded = rewriter.create<arith::AddIOp>(loc, shiftLow, roundDir);
185 Value carry = rewriter.create<arith::ShRSIOp>(loc, rounded, two32);
188 rewriter.create<arith::ShLIOp>(loc, roundDir, thirty32);
190 low32 = rewriter.create<arith::AddIOp>(loc, low32, shiftRound);
191 high32 = rewriter.create<arith::AddIOp>(loc, high32, carry);
196 Value shiftSubOne = rewriter.create<arith::SubIOp>(loc, shift32, one32);
197 Value roundBit = rewriter.create<arith::ShLIOp>(loc, one32, shiftSubOne);
198 roundBit = rewriter.create<arith::SelectOp>(loc, roundHighBits, zero32,
201 Value newLow32 = rewriter.create<arith::AddIOp>(loc, low32, roundBit);
203 loc, arith::CmpIPredicate::ugt, low32, newLow32);
206 Value rounded32 = rewriter.create<arith::ExtUIOp>(loc, i32Ty, wasRounded);
207 high32 = rewriter.create<arith::AddIOp>(loc, high32, rounded32);
213 rewriter.create<arith::SubIOp>(loc, shiftHighR, one32);
214 Value roundBit = rewriter.create<arith::ShLIOp>(loc, one32, shiftSubOne);
215 roundBit = rewriter.create<arith::SelectOp>(loc, roundHighBits, roundBit,
217 high32 = rewriter.create<arith::AddIOp>(loc, high32, roundBit);
221 high32 = rewriter.create<arith::ShLIOp>(loc, high32, shiftHighL);
222 high32 = rewriter.create<arith::ShRSIOp>(loc, high32, shiftHighR);
223 low32 = rewriter.create<arith::ShRUIOp>(loc, low32, shift32);
224 low32 = rewriter.create<arith::SelectOp>(loc, shiftOver32, zero32, low32);
227 Value result = rewriter.create<arith::AddIOp>(loc, low32, high32);
231 result = rewriter.create<arith::TruncIOp>(loc, resultTy, result);