@@ -344,6 +344,8 @@ doOp v (LSRem (ATInt (ITFixed ty))) [x, y] = bitOp v "SRem" ty [x, y]
344344
345345doOp v (LSExt (ITFixed from) ITBig) [x]
346346 = v ++ "MKBIGSI(vm, (" ++ signedTy from ++ ")" ++ creg x ++ "->info.bits" ++ show (nativeTyWidth from) ++ ")"
347+doOp v (LZExt ITNative ITBig) [x]
348+ = v ++ "MKBIGSI(vm, GETINT(" ++ creg x ++ "))"
347349doOp v (LSExt ITNative (ITFixed to)) [x]
348350 = v ++ "idris_b" ++ show (nativeTyWidth to) ++ "const(vm, GETINT(" ++ creg x ++ "))"
349351doOp v (LSExt (ITFixed from) ITNative) [x]
@@ -356,6 +358,8 @@ doOp v (LZExt (ITFixed from) ITNative) [x]
356358 = v ++ "MKINT((i_int)" ++ creg x ++ "->info.bits" ++ show (nativeTyWidth from) ++ ")"
357359doOp v (LZExt (ITFixed from) ITBig) [x]
358360 = v ++ "MKBIGUI(vm, " ++ creg x ++ "->info.bits" ++ show (nativeTyWidth from) ++ ")"
361+doOp v (LZExt ITNative ITBig) [x]
362+ = v ++ "MKBIGUI(vm, (uintptr_t)GETINT(" ++ creg x ++ "))"
359363doOp v (LZExt (ITFixed from) (ITFixed to)) [x]
360364 | nativeTyWidth from < nativeTyWidth to = bitCoerce v "Z" from to x
361365doOp v (LTrunc ITNative (ITFixed to)) [x]