Lines Matching refs:expr
251 local function parse_reg(expr, shift, no_vreg)
252 if not expr then werror("expected register name") end
253 local tname, ovreg = match(expr, "^([%w_]+):(@?%l%d+)$")
255 tname, ovreg = match(expr, "^([%w_]+):(R[xwqdshb]%b())$")
257 local tp = map_type[tname or expr]
261 werror("type `"..(tname or expr).."' needs a register override")
263 expr = reg
265 local ok31, rt, r = match(expr, "^(@?)([xwqdshb])([123]?[0-9])$")
277 local vrt, vreg = match(expr, "^R([xwqdshb])(%b())$")
287 werror("bad register name `"..expr.."'")
290 local function parse_reg_base(expr)
291 if expr == "sp" then return 0x3e0 end
292 local base, tp = parse_reg(expr, 5)
444 local function parse_shift(expr)
445 local s, s2 = match(expr, "^(%S+)%s*(.*)$")
451 local function parse_lslx16(expr)
452 local n = match(expr, "^lsl%s*#(%d+)$")
461 local function parse_extend(expr)
462 local s, s2 = match(expr, "^(%S+)%s*(.*)$")
472 local function parse_cond(expr, inv)
473 local c = map_cond[expr]