Lines Matching defs:lsb
3281 uint64_t lsb, msb;
3294 // $dst = and ((sra or srl) $src , lsb), (2**len - 1)
3295 // => BSTRPICK $dst, $src, msb, lsb
3296 // where msb = lsb + len - 1
3302 lsb = CN->getZExtValue();
3305 // length and lsb exceeds the word's size.
3306 if (SMIdx != 0 || lsb + SMLen > ValTy.getSizeInBits())
3313 // => BSTRPICK $dst, $src, msb, lsb
3314 // where lsb = 0 and msb = len - 1
3339 lsb = SMIdx;
3343 msb = lsb + SMLen - 1;
3346 DAG.getConstant(lsb, DL, GRLenVT));
3347 if (FirstOperandOpc == ISD::SRA || FirstOperandOpc == ISD::SRL || lsb == 0)
3350 // bstrpick $Rd, $Rs, msb, lsb
3351 // slli $Rd, $Rd, lsb
3353 DAG.getConstant(lsb, DL, GRLenVT));
3418 // R = or (and X, mask0), (and (shl Y, lsb), mask1)
3419 // where mask1 = (2**size - 1) << lsb, mask0 = ~mask1
3421 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
3440 // R = or (and X, mask0), (shl (and Y, mask1), lsb)
3441 // where mask1 = (2**size - 1), mask0 = ~(mask1 << lsb)
3443 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
3463 // where ~mask0 = (2**size - 1) << lsb, mask0 & mask1 = 0
3465 // R = BSTRINS X, (shr (and Y, mask1), lsb), msb, lsb
3466 // where msb = lsb + size - 1
3505 // where ~mask = (2**size - 1) << lsb, mask & const = 0
3507 // R = BSTRINS X, (const >> lsb), msb, lsb
3508 // where msb = lsb + size - 1