File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -252,6 +252,12 @@ The source operands are registers as follows:
252
252
- The least-significant bit for the extraction
253
253
- The width of the extraction
254
254
255
+ The least-significant bit (lsb) and width operands are in the range:
256
+
257
+ ::
258
+
259
+ 0 <= lsb < lsb + width <= source bitwidth, where all values are unsigned
260
+
255
261
G_SBFX sign-extends the result, while G_UBFX zero-extends the result.
256
262
257
263
.. code-block :: none
Original file line number Diff line number Diff line change @@ -1379,14 +1379,16 @@ def G_BZERO : GenericInstruction {
1379
1379
// Bitfield extraction.
1380
1380
//------------------------------------------------------------------------------
1381
1381
1382
- // Generic signed bitfield extraction.
1382
+ // Generic signed bitfield extraction. The operands are in the range
1383
+ // 0 <= lsb < lsb + width <= src bitwidth, where all values are unsigned.
1383
1384
def G_SBFX : GenericInstruction {
1384
1385
let OutOperandList = (outs type0:$dst);
1385
1386
let InOperandList = (ins type0:$src, type1:$lsb, type1:$width);
1386
1387
let hasSideEffects = false;
1387
1388
}
1388
1389
1389
- // Generic unsigned bitfield extraction.
1390
+ // Generic unsigned bitfield extraction. The operands are in the range
1391
+ // 0 <= lsb < lsb + width <= src bitwidth, where all values are unsigned.
1390
1392
def G_UBFX : GenericInstruction {
1391
1393
let OutOperandList = (outs type0:$dst);
1392
1394
let InOperandList = (ins type0:$src, type1:$lsb, type1:$width);
You can’t perform that action at this time.
0 commit comments