diff --git a/config/derivlist.txt b/config/derivlist.txt index 514d80a2b..1c4f19fe2 100644 --- a/config/derivlist.txt +++ b/config/derivlist.txt @@ -616,6 +616,10 @@ deriv f_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 +deriv f_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 0 + deriv f_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 @@ -662,6 +666,10 @@ deriv fh_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 +deriv fh_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 1 + deriv fh_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 @@ -708,6 +716,10 @@ deriv fd_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 +deriv fd_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 0 + deriv fd_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 @@ -755,6 +767,10 @@ deriv fdh_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 +deriv fdh_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 1 + deriv fdh_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 @@ -801,6 +817,10 @@ deriv fdq_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 +deriv fdq_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 0 + deriv fdq_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 0 @@ -847,6 +867,10 @@ deriv fdqh_div_4_2_rv32gc div_4_2_rv32gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 +deriv fdqh_div_4_4_rv32gc div_4_4_rv32gc +MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) +ZFH_SUPPORTED 1 + deriv fdqh_div_2_1_rv64gc div_2_1_rv64gc MISA (32'h00000104 | 1<< 5 | 1 << 3 | 1 << 16 | 1<< 18 | 1 << 20 | 1 << 12 | 1 << 0) ZFH_SUPPORTED 1 @@ -888,6 +912,9 @@ IEEE754 1 deriv f_ieee_div_4_2_rv32gc f_div_4_2_rv32gc IEEE754 1 +deriv f_ieee_div_4_4_rv32gc f_div_4_4_rv32gc +IEEE754 1 + deriv f_ieee_div_2_1_rv64gc f_div_2_1_rv64gc IEEE754 1 @@ -922,6 +949,9 @@ IEEE754 1 deriv fh_ieee_div_4_2_rv32gc fh_div_4_2_rv32gc IEEE754 1 +deriv fh_ieee_div_4_4_rv32gc fh_div_4_4_rv32gc +IEEE754 1 + deriv fh_ieee_div_2_1_rv64gc fh_div_2_1_rv64gc IEEE754 1 @@ -956,6 +986,9 @@ IEEE754 1 deriv fd_ieee_div_4_2_rv32gc fd_div_4_2_rv32gc IEEE754 1 +deriv fd_ieee_div_4_4_rv32gc fd_div_4_4_rv32gc +IEEE754 1 + deriv fd_ieee_div_2_1_rv64gc fd_div_2_1_rv64gc IEEE754 1 @@ -991,6 +1024,9 @@ IEEE754 1 deriv fdh_ieee_div_4_2_rv32gc fdh_div_4_2_rv32gc IEEE754 1 +deriv fdh_ieee_div_4_4_rv32gc fdh_div_4_4_rv32gc +IEEE754 1 + deriv fdh_ieee_div_2_1_rv64gc fdh_div_2_1_rv64gc IEEE754 1 @@ -1025,6 +1061,9 @@ IEEE754 1 deriv fdq_ieee_div_4_2_rv32gc fdq_div_4_2_rv32gc IEEE754 1 +deriv fdq_ieee_div_4_4_rv32gc fdq_div_4_4_rv32gc +IEEE754 1 + deriv fdq_ieee_div_2_1_rv64gc fdq_div_2_1_rv64gc IEEE754 1 @@ -1060,6 +1099,9 @@ IEEE754 1 deriv fdqh_ieee_div_4_2_rv32gc fdqh_div_4_2_rv32gc IEEE754 1 +deriv fdqh_ieee_div_4_4_rv32gc fdqh_div_4_4_rv32gc +IEEE754 1 + deriv fdqh_ieee_div_2_1_rv64gc fdqh_div_2_1_rv64gc IEEE754 1 @@ -1095,6 +1137,9 @@ IDIV_ON_FPU 1 deriv f_ieee_div_4_2i_rv32gc f_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv f_ieee_div_4_4i_rv32gc f_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv f_ieee_div_2_1i_rv64gc f_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 @@ -1129,6 +1174,9 @@ IDIV_ON_FPU 1 deriv fh_ieee_div_4_2i_rv32gc fh_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv fh_ieee_div_4_4i_rv32gc fh_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv fh_ieee_div_2_1i_rv64gc fh_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 @@ -1164,6 +1212,9 @@ IDIV_ON_FPU 1 deriv fd_ieee_div_4_2i_rv32gc fd_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv fd_ieee_div_4_4i_rv32gc fd_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv fd_ieee_div_2_1i_rv64gc fd_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 @@ -1199,6 +1250,9 @@ IDIV_ON_FPU 1 deriv fdh_ieee_div_4_2i_rv32gc fdh_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv fdh_ieee_div_4_4i_rv32gc fdh_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv fdh_ieee_div_2_1i_rv64gc fdh_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 @@ -1234,6 +1288,9 @@ IDIV_ON_FPU 1 deriv fdq_ieee_div_4_2i_rv32gc fdq_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv fdq_ieee_div_4_4i_rv32gc fdq_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv fdq_ieee_div_2_1i_rv64gc fdq_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 @@ -1269,6 +1326,9 @@ IDIV_ON_FPU 1 deriv fdqh_ieee_div_4_2i_rv32gc fdqh_ieee_div_4_2_rv32gc IDIV_ON_FPU 1 +deriv fdqh_ieee_div_4_4i_rv32gc fdqh_ieee_div_4_4_rv32gc +IDIV_ON_FPU 1 + deriv fdqh_ieee_div_2_1i_rv64gc fdqh_ieee_div_2_1_rv64gc IDIV_ON_FPU 1 diff --git a/sim/regression-wally b/sim/regression-wally index df4ac86e2..f58c8bdfe 100755 --- a/sim/regression-wally +++ b/sim/regression-wally @@ -309,40 +309,32 @@ if (nightly): # softfloat tests if (softfloat): configs = [] - softfloatconfigs = ['fdh_ieee_rv32gc', 'fdqh_ieee_rv32gc', 'fdq_ieee_rv32gc', \ - 'fh_ieee_v32gc', 'f_ieee_rv64gc', 'fdqh_ieee_rv64gc', \ - 'fdq_ieee_rv64gc', 'div_2_1_rv32gc', 'div_2_2_rv32gc', \ - 'div_2_4_rv32gc', 'div_4_1_rv32gc', 'div_4_2_rv32gc', \ - 'div_4_4_rv32gc', 'fd_ieee_rv32gc', 'fh_ieee_rv32gc', \ - 'div_2_1_rv64gc', 'div_2_2_rv64gc', 'div_2_4_rv64gc', \ - 'div_4_1_rv64gc', 'div_4_2_rv64gc', 'div_4_4_rv64gc', \ - 'fd_ieee_rv64gc', 'fh_ieee_rv64gc', 'f_ieee_rv32gc'] - softfloatconfigs = ['fdh_ieee_div_2_1_rv32gc', 'fdh_ieee_div_2_1_rv64gc', \ - 'fdh_ieee_div_2_2_rv32gc', 'fdh_ieee_div_2_2_rv64gc', 'fdh_ieee_div_2_4_rv32gc', \ - 'fdh_ieee_div_2_4_rv64gc', 'fdh_ieee_div_4_1_rv32gc', 'fdh_ieee_div_4_1_rv64gc', \ - 'fdh_ieee_div_4_2_rv32gc', 'fdh_ieee_div_4_2_rv64gc', 'fdh_ieee_div_4_4_rv64gc', \ - 'fdh_ieee_rv32gc', 'fd_ieee_div_2_1_rv32gc', 'fd_ieee_div_2_1_rv64gc', \ - 'fd_ieee_div_2_2_rv32gc', 'fd_ieee_div_2_2_rv64gc', 'fd_ieee_div_2_4_rv32gc', \ - 'fd_ieee_div_2_4_rv64gc', 'fd_ieee_div_4_1_rv32gc', 'fd_ieee_div_4_1_rv64gc', \ - 'fd_ieee_div_4_2_rv32gc', 'fd_ieee_div_4_2_rv64gc', 'fd_ieee_div_4_4_rv64gc', \ - 'fd_ieee_rv32gc', 'fd_ieee_rv64gc', 'fdqh_ieee_div_2_1_rv32gc', \ - 'fdqh_ieee_div_2_1_rv64gc', 'fdqh_ieee_div_2_2_rv32gc', 'fdqh_ieee_div_2_2_rv64gc', \ - 'fdqh_ieee_div_2_4_rv32gc', 'fdqh_ieee_div_2_4_rv64gc', 'fdqh_ieee_div_4_1_rv32gc', \ - 'fdqh_ieee_div_4_1_rv64gc', 'fdqh_ieee_div_4_2_rv32gc', 'fdqh_ieee_div_4_2_rv64gc',\ - 'fdqh_ieee_div_4_4_rv64gc', 'fdqh_ieee_rv32gc', 'fdqh_ieee_rv64gc', \ - 'fdq_ieee_div_2_1_rv32gc', 'fdq_ieee_div_2_1_rv64gc', 'fdq_ieee_div_2_2_rv32gc',\ - 'fdq_ieee_div_2_2_rv64gc', 'fdq_ieee_div_2_4_rv32gc', 'fdq_ieee_div_2_4_rv64gc', \ - 'fdq_ieee_div_4_1_rv32gc', 'fdq_ieee_div_4_1_rv64gc', 'fdq_ieee_div_4_2_rv32gc', \ - 'fdq_ieee_div_4_2_rv64gc', 'fdq_ieee_div_4_4_rv64gc', 'fdq_ieee_rv32gc', \ - 'fdq_ieee_rv64gc', 'fh_ieee_div_2_1_rv32gc', 'fh_ieee_div_2_1_rv64gc', \ - 'fh_ieee_div_2_2_rv32gc', 'fh_ieee_div_2_2_rv64gc', 'fh_ieee_div_2_4_rv32gc',\ - 'fh_ieee_div_2_4_rv64gc', 'fh_ieee_div_4_1_rv32gc', 'fh_ieee_div_4_1_rv64gc',\ - 'fh_ieee_div_4_2_rv32gc', 'fh_ieee_div_4_2_rv64gc', 'fh_ieee_div_4_4_rv64gc', \ - 'fh_ieee_rv32gc', 'fh_ieee_rv64gc', 'fh_ieee_v32gc', 'f_ieee_div_2_1_rv32gc', \ - 'f_ieee_div_2_1_rv64gc', 'f_ieee_div_2_2_rv32gc', 'f_ieee_div_2_2_rv64gc', \ - 'f_ieee_div_2_4_rv32gc', 'f_ieee_div_2_4_rv64gc', 'f_ieee_div_4_1_rv32gc', \ - 'f_ieee_div_4_1_rv64gc', 'f_ieee_div_4_2_rv32gc', 'f_ieee_div_4_2_rv64gc', \ - 'f_ieee_div_4_4_rv64gc', 'f_ieee_rv32gc', 'f_ieee_rv64gc'] + softfloatconfigs = [ + "fdh_ieee_div_2_1_rv32gc", "fdh_ieee_div_2_1_rv64gc", "fdh_ieee_div_2_2_rv32gc", + "fdh_ieee_div_2_2_rv64gc", "fdh_ieee_div_2_4_rv32gc", "fdh_ieee_div_2_4_rv64gc", + "fdh_ieee_div_4_1_rv32gc", "fdh_ieee_div_4_1_rv64gc", "fdh_ieee_div_4_2_rv32gc", + "fdh_ieee_div_4_2_rv64gc", "fdh_ieee_div_4_4_rv32gc", "fdh_ieee_div_4_4_rv64gc", + "fd_ieee_div_2_1_rv32gc", "fd_ieee_div_2_1_rv64gc", "fd_ieee_div_2_2_rv32gc", + "fd_ieee_div_2_2_rv64gc", "fd_ieee_div_2_4_rv32gc", "fd_ieee_div_2_4_rv64gc", + "fd_ieee_div_4_1_rv32gc", "fd_ieee_div_4_1_rv64gc", "fd_ieee_div_4_2_rv32gc", + "fd_ieee_div_4_2_rv64gc", "fd_ieee_div_4_4_rv32gc", "fd_ieee_div_4_4_rv64gc", + "fdqh_ieee_div_2_1_rv32gc", "fdqh_ieee_div_2_1_rv64gc", "fdqh_ieee_div_2_2_rv32gc", + "fdqh_ieee_div_2_2_rv64gc", "fdqh_ieee_div_2_4_rv32gc", "fdqh_ieee_div_2_4_rv64gc", + "fdqh_ieee_div_4_1_rv32gc", "fdqh_ieee_div_4_1_rv64gc", "fdqh_ieee_div_4_2_rv32gc", + "fdqh_ieee_div_4_2_rv64gc", "fdqh_ieee_div_4_4_rv32gc", "fdqh_ieee_div_4_4_rv64gc", + "fdq_ieee_div_2_1_rv32gc", "fdq_ieee_div_2_1_rv64gc", "fdq_ieee_div_2_2_rv32gc", + "fdq_ieee_div_2_2_rv64gc", "fdq_ieee_div_2_4_rv32gc", "fdq_ieee_div_2_4_rv64gc", + "fdq_ieee_div_4_1_rv32gc", "fdq_ieee_div_4_1_rv64gc", "fdq_ieee_div_4_2_rv32gc", + "fdq_ieee_div_4_2_rv64gc", "fdq_ieee_div_4_4_rv32gc", "fdq_ieee_div_4_4_rv64gc", + "fh_ieee_div_2_1_rv32gc", "fh_ieee_div_2_1_rv64gc", "fh_ieee_div_2_2_rv32gc", + "fh_ieee_div_2_2_rv64gc", "fh_ieee_div_2_4_rv32gc", "fh_ieee_div_2_4_rv64gc", + "fh_ieee_div_4_1_rv32gc", "fh_ieee_div_4_1_rv64gc", "fh_ieee_div_4_2_rv32gc", + "fh_ieee_div_4_2_rv64gc", "fh_ieee_div_4_4_rv32gc", "fh_ieee_div_4_4_rv64gc", + "f_ieee_div_2_1_rv32gc", "f_ieee_div_2_1_rv64gc", "f_ieee_div_2_2_rv32gc", + "f_ieee_div_2_2_rv64gc", "f_ieee_div_2_4_rv32gc", "f_ieee_div_2_4_rv64gc", + "f_ieee_div_4_1_rv32gc", "f_ieee_div_4_1_rv64gc", "f_ieee_div_4_2_rv32gc", + "f_ieee_div_4_2_rv64gc", "f_ieee_div_4_4_rv32gc", "f_ieee_div_4_4_rv64gc" + ] for config in softfloatconfigs: # div test case divtest = TestCase(