aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/pr61
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/pr61')
-rwxr-xr-xtestsuite/pr61/testsuite.sh12
-rw-r--r--testsuite/pr61/vector.vhdl15
2 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/pr61/testsuite.sh b/testsuite/pr61/testsuite.sh
new file mode 100755
index 0000000..3ff1a15
--- /dev/null
+++ b/testsuite/pr61/testsuite.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+. ../testenv.sh
+
+run_yosys -p "ghdl vector.vhdl -e vector; dump -o vector.il"
+
+grep -q 0000000000000000000000000000000011111111111111111111111111111010 vector.il || exit 1
+grep -q 0000000011111111111111111111111111111111111111111111111100000000 vector.il || exit 1
+grep -q 1111111111111111111111111111111111111111111111111111111111111111 vector.il || exit 1
+grep -q 0000111111111111111111111111111111111111111111111111111111110000 vector.il || exit 1
+
+clean
diff --git a/testsuite/pr61/vector.vhdl b/testsuite/pr61/vector.vhdl
new file mode 100644
index 0000000..61a0d67
--- /dev/null
+++ b/testsuite/pr61/vector.vhdl
@@ -0,0 +1,15 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity vector is
+ port (v: out signed(63 downto 0);
+ u: out unsigned(63 downto 0));
+end vector;
+
+architecture synth of vector is
+
+begin
+ v <= signed'(x"0ffffffffffffff0")+(-1);
+ u <= unsigned'(x"00ffffffffffff00")+4294967290;
+end synth;