Rust has an i128 type, so a rustc backend will need a way to support it. While one option would be to oblige the frontend to lower i128 into i64 operations, Cretonne already has legalization strategies for splitting integers in half, and much of this code ought to work for i128.
The tricky part is that the iconst instruction, as well as all *_imm instructions, uses imm64. One option is to just change these to Imm128. I'm inclined to do that, as it keeps i128 consistent with the other integer types. However, most users don't need i128, so it would be good to ensure that doing this doesn't add significant overhead or complexity for users that don't use it.
Another option would be to introduce an i128const instruction, and leave the *_imm variants unsupported in i128. That wouldn't impact users that don't use it, though it'd be less tidy.