diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/power.sail | 6 | ||||
| -rw-r--r-- | src/test/test3.sail | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/test/power.sail b/src/test/power.sail index 02b4555f..adcd0d9f 100644 --- a/src/test/power.sail +++ b/src/test/power.sail @@ -126,7 +126,7 @@ scattered function ast decode function clause execute ( LoadWordandZero ( D, RA, RT ) ) = { (bit[64]) EA := 0; (bit[64]) b := 0; { - if((bit) ( RA == 0 ) ) then b := 0 else b := (GPR[ RA ]) ; + if((bit) ( (nat) RA == 0 ) ) then b := 0 else b := (GPR[ RA ]) ; EA := ( b + ( exts ( D )) ) ; GPR[ RT ] := ( 0b00000000000000000000000000000000 : MEM( EA , 4 ) ) ; } } @@ -139,7 +139,7 @@ scattered function ast decode function clause execute ( StoreWord ( D, RA, RS ) ) = { (bit[64]) EA := 0; (bit[64]) b := 0; { - if((bit) ( RA == 0 ) ) then b := 0 else b := (GPR[ RA ]) ; + if((bit) ( (nat) RA == 0 ) ) then b := 0 else b := (GPR[ RA ]) ; EA := ( b + ( exts ( D )) ) ; MEM( EA , 4 ) := (( (GPR[ RS ]) )[ 32 .. 63 ]) ; } } @@ -165,7 +165,7 @@ scattered function ast decode function clause execute ( AddImmediate ( RA, RT, SI ) ) = { { - if((bit) ( RA == 0 ) ) then GPR[ RT ] := ( exts ( SI )) else GPR[ RT ] := ( (GPR[ RA ]) + ( exts ( SI )) ) ; + if((bit) ( (nat) RA == 0 ) ) then GPR[ RT ] := (bit[64]) ( exts ( SI )) else GPR[ RT ] := ( (GPR[ RA ]) + ( exts ( SI )) ) ; } } diff --git a/src/test/test3.sail b/src/test/test3.sail index 06086dd7..3a806f41 100644 --- a/src/test/test3.sail +++ b/src/test/test3.sail @@ -48,7 +48,7 @@ function nat main _ = { dummy_reg := (deinfix +)(5, 37); (* casts and external calls *) dummy_reg := 0b01 + 0b01; - dummy_reg2 := dummy_reg; (* cast from [|256|] to bit[8] *) + dummy_reg2 := 0b00000001; dummy_reg2 := dummy_reg2 + dummy_reg2; (* cast to nat for add call *) dummy_reg2; (* cast again and return 4 *) } |
