Lines Matching refs:lsb
2109 uint64_t lsb, msb;
2122 // $dst = and ((sra or srl) $src , lsb), (2**len - 1)
2123 // => BSTRPICK $dst, $src, msb, lsb
2124 // where msb = lsb + len - 1
2130 lsb = CN->getZExtValue();
2133 // length and lsb exceeds the word's size.
2134 if (SMIdx != 0 || lsb + SMLen > ValTy.getSizeInBits())
2141 // => BSTRPICK $dst, $src, msb, lsb
2142 // where lsb = 0 and msb = len - 1
2167 lsb = SMIdx;
2171 msb = lsb + SMLen - 1;
2174 DAG.getConstant(lsb, DL, GRLenVT));
2175 if (FirstOperandOpc == ISD::SRA || FirstOperandOpc == ISD::SRL || lsb == 0)
2178 // bstrpick $Rd, $Rs, msb, lsb
2179 // slli $Rd, $Rd, lsb
2181 DAG.getConstant(lsb, DL, GRLenVT));
2246 // R = or (and X, mask0), (and (shl Y, lsb), mask1)
2247 // where mask1 = (2**size - 1) << lsb, mask0 = ~mask1
2249 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
2268 // R = or (and X, mask0), (shl (and Y, mask1), lsb)
2269 // where mask1 = (2**size - 1), mask0 = ~(mask1 << lsb)
2271 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
2291 // where ~mask0 = (2**size - 1) << lsb, mask0 & mask1 = 0
2293 // R = BSTRINS X, (shr (and Y, mask1), lsb), msb, lsb
2294 // where msb = lsb + size - 1
2333 // where ~mask = (2**size - 1) << lsb, mask & const = 0
2335 // R = BSTRINS X, (const >> lsb), msb, lsb
2336 // where msb = lsb + size - 1