Correctness of adding int32 and int64 in IL

88 Views Asked by At

Working on custom interpreter of IL code I've noticed that the following code can be compiled by ilasm.exe and executed well:

.locals init (int32 x, int64 y, int64 z)

ldloc x
ldloc y
add
stloc z

But in the ECMA-335 (unfortunately I can't insert a link to html, only pdf seems to be available) I see that combination of int32 and int64 is not supported for binary operations (as shown in the table Table III.2: Binary Numeric Operations).

Moreover adding float32 and int64 also can be compiled and executed.

Is it a mistake in the .net runtime?

How to check what combinations are really correct and should be supported?

0

There are 0 best solutions below