diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dump.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/dump.lua b/lib/dump.lua index 34365360..39dc241d 100644 --- a/lib/dump.lua +++ b/lib/dump.lua | |||
@@ -238,9 +238,10 @@ local litname = { | |||
238 | ["XLOAD "] = { [0] = "", "R", "U", "RU", }, | 238 | ["XLOAD "] = { [0] = "", "R", "U", "RU", }, |
239 | ["CONV "] = setmetatable({}, { __index = function(t, mode) | 239 | ["CONV "] = setmetatable({}, { __index = function(t, mode) |
240 | local s = irtype[band(mode, 31)] | 240 | local s = irtype[band(mode, 31)] |
241 | if band(mode, 0x100) ~= 0 then s = s.." trunc" | 241 | s = irtype[band(shr(mode, 5), 31)].."."..s |
242 | elseif band(mode, 0x200) ~= 0 then s = s.." sext" end | 242 | if band(mode, 0x400) ~= 0 then s = s.." trunc" |
243 | local c = shr(mode, 10) | 243 | elseif band(mode, 0x800) ~= 0 then s = s.." sext" end |
244 | local c = shr(mode, 14) | ||
244 | if c == 2 then s = s.." index" elseif c == 3 then s = s.." check" end | 245 | if c == 2 then s = s.." index" elseif c == 3 then s = s.." check" end |
245 | t[mode] = s | 246 | t[mode] = s |
246 | return s | 247 | return s |