diff options
Diffstat (limited to 'src/Assembly/StringConversion.v')
-rw-r--r-- | src/Assembly/StringConversion.v | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Assembly/StringConversion.v b/src/Assembly/StringConversion.v index 66a83cfa3..9f3908a26 100644 --- a/src/Assembly/StringConversion.v +++ b/src/Assembly/StringConversion.v @@ -127,7 +127,13 @@ Module StringConversion <: Conversion Qhasm QhasmString. end. Definition operationToString (op: Operation): option string := - let f := fun x => if (Nat.eq_dec x 32) then "32" else "64" in + let f := fun x => ( + if (Nat.eq_dec x 32) + then "32" + else if (Nat.eq_dec x 64) + then "64" + else "128") in + match op with | IOpConst n o r c => r ++ " " ++ o ++ "= " ++ c @@ -140,7 +146,7 @@ Module StringConversion <: Conversion Qhasm QhasmString. | DOp n o a b x => match x with | Some r => - "inline " ++ r ++ " " ++ a ++ " " ++ o ++ "= " ++ b + "(int" ++ (f (2 * n)) ++ ") " ++ r ++ " " ++ a ++ " " ++ o ++ "= " ++ b | None => a ++ " " ++ o ++ "= " ++ b end | COp n o a b => |