diff --git a/arches/isa_json/gen_uarch_rv64v_json.py b/arches/isa_json/gen_uarch_rv64v_json.py index 842e0e1a..7d9aae42 100755 --- a/arches/isa_json/gen_uarch_rv64v_json.py +++ b/arches/isa_json/gen_uarch_rv64v_json.py @@ -210,7 +210,7 @@ # Vector Fixed-Point Arithmetic Instructions: Vector Single-Width Averaging Add and Subtract "vaaddu.vv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, - "vaaddu.vv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, + "vaaddu.vx" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, "vaadd.vv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, "vaadd.vx" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, "vasubu.vv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, @@ -230,7 +230,13 @@ "vssra.vx" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, "vssra.vi" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 6}, -# TODO: Vector Fixed-Point Arithmetic Instructions: Vector Narrowing Fixed-Point Clip Instructions +# Vector Fixed-Point Arithmetic Instructions: Vector Narrowing Fixed-Point Clip Instructions + "vnclipu.wv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, + "vnclipu.wx" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, + "vnclipu.wi" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, + "vnclip.wv" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, + "vnclip.wx" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, + "vnclip.wi" : {"pipe" : "vfixed", "uop_gen" : "ARITH", "latency" : 2}, # TODO: Vector Floating-Point Instructions: Vector Floating-Point Exception Flags # TODO: Vector Floating-Point Instructions: Vector Single-Width Floating-Point Add/Subtract Instructions diff --git a/arches/isa_json/olympia_uarch_rv64v.json b/arches/isa_json/olympia_uarch_rv64v.json index 51d1d34d..2def1bab 100644 --- a/arches/isa_json/olympia_uarch_rv64v.json +++ b/arches/isa_json/olympia_uarch_rv64v.json @@ -19,9 +19,9 @@ }, { "mnemonic": "vaaddu.vx", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 6 }, { "mnemonic": "vadc.vim", @@ -1393,39 +1393,39 @@ }, { "mnemonic": "vnclip.wi", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnclip.wv", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnclip.wx", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnclipu.wi", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnclipu.wv", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnclipu.wx", - "pipe": "?", - "uop_gen": "NONE", - "latency": 0 + "pipe": "vfixed", + "uop_gen": "ARITH", + "latency": 2 }, { "mnemonic": "vnmsac.vv",