Lines Matching defs:lsb
3114 uint64_t lsb, msb;
3127 // $dst = and ((sra or srl) $src , lsb), (2**len - 1)
3128 // => BSTRPICK $dst, $src, msb, lsb
3129 // where msb = lsb + len - 1
3135 lsb = CN->getZExtValue();
3138 // length and lsb exceeds the word's size.
3139 if (SMIdx != 0 || lsb + SMLen > ValTy.getSizeInBits())
3146 // => BSTRPICK $dst, $src, msb, lsb
3147 // where lsb = 0 and msb = len - 1
3172 lsb = SMIdx;
3176 msb = lsb + SMLen - 1;
3179 DAG.getConstant(lsb, DL, GRLenVT));
3180 if (FirstOperandOpc == ISD::SRA || FirstOperandOpc == ISD::SRL || lsb == 0)
3183 // bstrpick $Rd, $Rs, msb, lsb
3184 // slli $Rd, $Rd, lsb
3186 DAG.getConstant(lsb, DL, GRLenVT));
3251 // R = or (and X, mask0), (and (shl Y, lsb), mask1)
3252 // where mask1 = (2**size - 1) << lsb, mask0 = ~mask1
3254 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
3273 // R = or (and X, mask0), (shl (and Y, mask1), lsb)
3274 // where mask1 = (2**size - 1), mask0 = ~(mask1 << lsb)
3276 // R = BSTRINS X, Y, msb, lsb (where msb = lsb + size - 1)
3296 // where ~mask0 = (2**size - 1) << lsb, mask0 & mask1 = 0
3298 // R = BSTRINS X, (shr (and Y, mask1), lsb), msb, lsb
3299 // where msb = lsb + size - 1
3338 // where ~mask = (2**size - 1) << lsb, mask & const = 0
3340 // R = BSTRINS X, (const >> lsb), msb, lsb
3341 // where msb = lsb + size - 1