@@ -510,7 +510,7 @@ open AccessType
510510
511511/-- Type quantifiers: k_ex5891# : Bool, k_ex5890# : Bool -/
512512def neq_bool (x : Bool) (y : Bool) : Bool :=
513- (Bool.not (BEq.beq x y))
513+ (! (x == y))
514514
515515/-- Type quantifiers: x : Int -/
516516def __id (x : Int) : Int :=
@@ -548,10 +548,10 @@ def _shr_int_general (m : Int) (n : Int) : Int :=
548548
549549/-- Type quantifiers: m : Int, n : Int -/
550550def fdiv_int (n : Int) (m : Int) : Int :=
551- bif (Bool.and (n <b 0 ) (m >b 0 ))
551+ bif ((n <b 0 ) && (m >b 0 ))
552552 then ((Int.tdiv (n +i 1 ) m) -i 1 )
553553 else
554- (bif (Bool.and (n >b 0 ) (m <b 0 ))
554+ (bif ((n >b 0 ) && (m <b 0 ))
555555 then ((Int.tdiv (n -i 1 ) m) -i 1 )
556556 else (Int.tdiv n m))
557557
@@ -1792,13 +1792,13 @@ def GPRs : (Vector (RegisterRef (BitVec 64)) 31) :=
17921792
17931793/-- Type quantifiers: n : Nat, 0 ≤ n ∧ n ≤ 31 -/
17941794def wX (n : Nat) (value : (BitVec 64 )) : SailM Unit := do
1795- bif (bne n 31 )
1795+ bif (n != 31 )
17961796 then writeRegRef (GetElem?.getElem! GPRs n) value
17971797 else (pure ())
17981798
17991799/-- Type quantifiers: n : Nat, 0 ≤ n ∧ n ≤ 31 -/
18001800def rX (n : Nat) : SailM (BitVec 64 ) := do
1801- bif (bne n 31 )
1801+ bif (n != 31 )
18021802 then (reg_deref (GetElem?.getElem! GPRs n))
18031803 else (pure (0x0000000000000000 : (BitVec 64 )))
18041804
@@ -1812,29 +1812,29 @@ def decodeLoadStoreRegister (opc : (BitVec 2)) (Rm : (BitVec 5)) (option_v : (Bi
18121812 let t : reg_index := (BitVec.toNat Rt)
18131813 let n : reg_index := (BitVec.toNat Rn)
18141814 let m : reg_index := (BitVec.toNat Rm)
1815- bif (Bool.or (bne option_v (0b011 : (BitVec 3 ))) (BEq.beq S 1 #1 ))
1815+ bif (( option_v != (0b011 : (BitVec 3 ))) || (S == 1 #1 ))
18161816 then none
18171817 else
1818- (bif (BEq.beq opc (0b00 : (BitVec 2 )))
1818+ (bif (opc == (0b00 : (BitVec 2 )))
18191819 then (some (LoadRegister (t, n, m)))
18201820 else
1821- (bif (BEq.beq opc (0b01 : (BitVec 2 )))
1821+ (bif (opc == (0b01 : (BitVec 2 )))
18221822 then (some (StoreRegister (t, n, m)))
18231823 else none))
18241824
18251825def decodeExclusiveOr (sf : (BitVec 1 )) (shift : (BitVec 2 )) (N : (BitVec 1 )) (Rm : (BitVec 5 )) (imm6 : (BitVec 6 )) (Rn : (BitVec 5 )) (Rd : (BitVec 5 )) : (Option ast) :=
18261826 let d : reg_index := (BitVec.toNat Rd)
18271827 let n : reg_index := (BitVec.toNat Rn)
18281828 let m : reg_index := (BitVec.toNat Rm)
1829- bif (Bool.and (BEq.beq sf 0 #1 ) (BEq.beq ( BitVec.access imm6 5 ) 1 #1 ))
1829+ bif (( sf == 0 #1 ) && (( BitVec.access imm6 5 ) == 1 #1 ))
18301830 then none
18311831 else
1832- (bif (bne imm6 (0b000000 : (BitVec 6 )))
1832+ (bif (imm6 != (0b000000 : (BitVec 6 )))
18331833 then none
18341834 else (some (ExclusiveOr (d, n, m))))
18351835
18361836def decodeDataMemoryBarrier (CRm : (BitVec 4 )) : (Option ast) :=
1837- bif (bne CRm (0xF : (BitVec 4 )))
1837+ bif (CRm != (0xF : (BitVec 4 )))
18381838 then none
18391839 else (some (DataMemoryBarrier ()))
18401840
@@ -1920,7 +1920,7 @@ def execute_DataMemoryBarrier (_ : Unit) : SailM Unit := do
19201920/-- Type quantifiers: t : Nat, 0 ≤ t ∧ t ≤ 31 -/
19211921def execute_CompareAndBranch (t : Nat) (offset : (BitVec 64 )) : SailM Unit := do
19221922 let operand ← do (rX t)
1923- bif (BEq.beq operand (0x0000000000000000 : (BitVec 64 )))
1923+ bif (operand == (0x0000000000000000 : (BitVec 64 )))
19241924 then
19251925 (do
19261926 let base ← do (rPC ())
0 commit comments