-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
bugSomething isn't workingSomething isn't workingfrontendThis is frontend relatedThis is frontend related
Description
The following spec
instruction set architecture ARCH = {
program counter PC : Bits<64>
memory MEM : Bits<64> -> Bits<8>
register X : Bits<5> -> Bits<64>
format Fmt : Bits<32> =
{ opcd : Bits<6>
, rs : Bits<5>
, ra : Bits<5>
, rb : Bits<5>
, extopcd : Bits<10>
, rsv : Bits<1>
}
instruction Instr : Fmt = {
forall i: Bits<6> in 0..31 do {
X(1)(i) := 1
}
}
encoding Instr = {opcd = 0b010011, extopcd = 0b01000'00001, rsv = 0b0}
assembly Instr = ("CRAND", " ", decimal(rs), ",", decimal(rb), ",", decimal(ra))
}
crashes with
vadl.ast.EvaluationError: Cannot evaluate identifier with origin of vadl.ast.ForallStatement
at vadl.ast.ConstantEvaluator.visitIdentifiable(ConstantEvaluator.java:112)
at vadl.ast.ConstantEvaluator.visit(ConstantEvaluator.java:158)
at vadl.ast.ConstantEvaluator.visit(ConstantEvaluator.java:47)
at vadl.ast.Identifier.accept(Expr.java:219)
at vadl.ast.ConstantEvaluator.eval(ConstantEvaluator.java:70)
at vadl.ast.TypeChecker.checkIndexSlice(TypeChecker.java:3048)
at vadl.ast.TypeChecker.visitSliceIndexCall(TypeChecker.java:3099)
at vadl.ast.TypeChecker.visit(TypeChecker.java:3362)
at vadl.ast.TypeChecker.visit(TypeChecker.java:74)
at vadl.ast.CallIndexExpr.accept(Expr.java:1861)
at vadl.ast.TypeChecker.check(TypeChecker.java:161)
at vadl.ast.TypeChecker.visit(TypeChecker.java:3934)
at vadl.ast.TypeChecker.visit(TypeChecker.java:74)
at vadl.ast.AssignmentStatement.accept(Statement.java:332)
at vadl.ast.TypeChecker.check(TypeChecker.java:196)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at vadl.ast.TypeChecker.visit(TypeChecker.java:3880)
at vadl.ast.TypeChecker.visit(TypeChecker.java:74)
at vadl.ast.BlockStatement.accept(Statement.java:121)
at vadl.ast.TypeChecker.check(TypeChecker.java:196)
at vadl.ast.TypeChecker.visit(TypeChecker.java:4152)
at vadl.ast.TypeChecker.visit(TypeChecker.java:74)
at vadl.ast.ForallStatement.accept(Statement.java:1004)
at vadl.ast.TypeChecker.check(TypeChecker.java:196)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at vadl.ast.TypeChecker.visit(TypeChecker.java:3880)
at vadl.ast.TypeChecker.visit(TypeChecker.java:74)
at vadl.ast.BlockStatement.accept(Statement.java:121)
at vadl.ast.TypeChecker.check(TypeChecker.java:196)
flofriday
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfrontendThis is frontend relatedThis is frontend related