Lines Matching refs:imm
1538 local function parse_imm(imm, bits, shift, scale, signed)
1539 local n = parse_number(imm)
1551 werror("out of range immediate `"..imm.."'")
1552 elseif match(imm, "^[rfv]([1-3]?[0-9])$") or
1553 match(imm, "^vs([1-6]?[0-9])$") or
1554 match(imm, "^([%w_]+):(r[1-3]?[0-9])$") then
1557 waction("IMM", (signed and 32768 or 0)+scale*1024+bits*32+shift, imm)
1562 local function parse_shiftmask(imm, isshift)
1563 local n = parse_number(imm)
1570 werror("out of range immediate `"..imm.."'")
1571 elseif match(imm, "^r([1-3]?[0-9])$") or
1572 match(imm, "^([%w_]+):(r[1-3]?[0-9])$") then
1575 waction("IMMSH", isshift and 1 or 0, imm)
1581 local imm, reg = match(disp, "^(.*)%(([%w_:]+)%)$")
1582 if imm then
1585 return shl(r, 16) + parse_imm(imm, 16, 0, 0, true)
1600 local imm, reg = match(disp, "^(.*)%(([%w_:]+)%)$")
1601 if imm then
1604 return shl(r, 16) + parse_imm(imm, 5, 11, scale, false)