jasmin icon indicating copy to clipboard operation
jasmin copied to clipboard

Language for high-assurance and high-speed cryptography

Results 201 jasmin issues
Sort by recently updated
recently updated
newest added

Currently, during lowering, we transform some instructions (in particular additions) if the immediate they take as an argument is too large to be taken directly. We then introduce a move...

lowering

When lowering does not know what to do for a given instruction, it returns it without touching it. The following passes in the compiler then receive a sometimes nonsensical instruction....

lowering

Consider this example ``` export fn f (reg u128 x y) -> reg u128 { reg u128 z; z = (32u)#VPAND(x, y); return z; } ``` This example compiles fine....

Consider the following code, where function `f1_while_scale` adds all elements from global array `c`. The safety checker does not find any violation for this example. ``` u16[16] c = {...

The following program produces an obscure error message: ~~~ inline fn f(reg u8 a b) { a = #ADD_u8(a, b); } ~~~ > Fatal error: exception End_of_file

The following program returns zero: ~~~ export fn test() -> reg u8 { reg u8 a; a = 256; return a; } ~~~

The following code does not type check (typing.ml) because pretyping does not insert the good "type annotation" in the assignment. inline fn test(reg u64 buffer) -> inline int { inline...

With the following code ``` fn f (reg ptr u64[3] r) -> reg u64 { reg u64 res; stack u64[3] s; s = r; res = s[0]; return res; }...

When trying to define (in `glob_array3` branch) a non-inlined function taking as an argument a reg array, for instance: ``` fn sum (reg u64[2] a) -> reg u64 { reg...

On the following example ``` fn f (reg ptr u64[2] r) -> reg u32 { reg u32 res; stack u64[2] a; stack u32[10] b; a[0]=0; b[1:2] = a[u32 0:2]; res...

enhancement