From be199556f435977e87d121562e885b42ebe339ad Mon Sep 17 00:00:00 2001 From: iximeow Date: Sun, 6 Apr 2025 20:40:25 -0700 Subject: wretched architecture which does not know the light of g*d --- tests/from_brain.rs | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'tests/from_brain.rs') diff --git a/tests/from_brain.rs b/tests/from_brain.rs index f98ca03..a715e9f 100644 --- a/tests/from_brain.rs +++ b/tests/from_brain.rs @@ -1481,6 +1481,64 @@ fn inst_1110() { test_display(&0b1110_0101_100_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 = cmpy(R20, R6):<<1:sat }"); test_display(&0b1110_0101_100_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 = vmpyhsu(R20, R6):<<1:sat }"); test_display(&0b1110_0101_110_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 = cmpy(R20, R6*):<<1:sat }"); + + test_display(&0b1110_0110_000_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.L, R6.L) }"); + test_display(&0b1110_0110_000_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.L, R6.H) }"); + test_display(&0b1110_0110_000_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.H, R6.L) }"); + test_display(&0b1110_0110_000_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.H, R6.H) }"); + test_display(&0b1110_0110_001_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.L, R6.L) }"); + test_display(&0b1110_0110_001_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.L, R6.H) }"); + test_display(&0b1110_0110_001_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.H, R6.L) }"); + test_display(&0b1110_0110_001_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.H, R6.H) }"); + test_display(&0b1110_0110_010_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.L, R6.L) }"); + test_display(&0b1110_0110_010_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.L, R6.H) }"); + test_display(&0b1110_0110_010_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.H, R6.L) }"); + test_display(&0b1110_0110_010_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.H, R6.H) }"); + test_display(&0b1110_0110_011_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.L, R6.L) }"); + test_display(&0b1110_0110_011_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.L, R6.H) }"); + test_display(&0b1110_0110_011_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.H, R6.L) }"); + test_display(&0b1110_0110_011_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.H, R6.H) }"); + test_display(&0b1110_0110_100_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.L, R6.L):<<1 }"); + test_display(&0b1110_0110_100_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.L, R6.H):<<1 }"); + test_display(&0b1110_0110_100_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.H, R6.L):<<1 }"); + test_display(&0b1110_0110_100_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20.H, R6.H):<<1 }"); + test_display(&0b1110_0110_101_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.L, R6.L):<<1 }"); + test_display(&0b1110_0110_101_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.L, R6.H):<<1 }"); + test_display(&0b1110_0110_101_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.H, R6.L):<<1 }"); + test_display(&0b1110_0110_101_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20.H, R6.H):<<1 }"); + test_display(&0b1110_0110_110_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.L, R6.L):<<1 }"); + test_display(&0b1110_0110_110_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.L, R6.H):<<1 }"); + test_display(&0b1110_0110_110_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.H, R6.L):<<1 }"); + test_display(&0b1110_0110_110_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20.H, R6.H):<<1 }"); + test_display(&0b1110_0110_111_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.L, R6.L):<<1 }"); + test_display(&0b1110_0110_111_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.L, R6.H):<<1 }"); + test_display(&0b1110_0110_111_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.H, R6.L):<<1 }"); + test_display(&0b1110_0110_111_10100_11_000110_011_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20.H, R6.H):<<1 }"); + + test_display(&0b1110_0111_000_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpy(R20, R6) }"); + test_display(&0b1110_0111_001_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpy(R20, R6) }"); + test_display(&0b1110_0111_010_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 += mpyu(R20, R6) }"); + test_display(&0b1110_0111_011_10100_11_000110_000_10110u32.to_le_bytes(), "{ R23:22 -= mpyu(R20, R6) }"); + test_display(&0b1110_0111_000_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += cmpyi(R20, R6) }"); + test_display(&0b1110_0111_001_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += vmpyh(R21:20, R7:6) }"); + test_display(&0b1110_0111_100_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += vmpybu(R21:20, R7:6) }"); + test_display(&0b1110_0111_110_10100_11_000110_001_10110u32.to_le_bytes(), "{ R23:22 += vmpybsu(R21:20, R7:6) }"); + test_display(&0b1110_0111_000_10100_11_000110_010_10110u32.to_le_bytes(), "{ R23:22 += cmpyr(R20, R6) }"); + test_display(&0b1110_0111_001_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 ^= pmpyw(R20, R6) }"); + test_display(&0b1110_0111_101_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 ^= vpmpyh(R20, R6) }"); + + test_display(&0b1110_0111_000_10100_11_000110_101_10110u32.to_le_bytes(), "{ R23:22 += vmpyh(R21:20, R7:6):sat }"); + test_display(&0b1110_0111_011_10100_11_000110_101_10110u32.to_le_bytes(), "{ R23:22 += vmpyhsu(R20, R6):sat }"); + test_display(&0b1110_0111_000_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 += cmpy(R20, R6):sat }"); + test_display(&0b1110_0111_010_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 += cmpy(R20, R6*):sat }"); + test_display(&0b1110_0111_000_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 -= cmpy(R20, R6):sat }"); + test_display(&0b1110_0111_010_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 -= cmpy(R20, R6*):sat }"); + test_display(&0b1110_0111_100_10100_11_000110_101_10110u32.to_le_bytes(), "{ R23:22 += vmpyh(R21:20, R7:6):<<1:sat }"); + test_display(&0b1110_0111_111_10100_11_000110_101_10110u32.to_le_bytes(), "{ R23:22 += vmpyhsu(R20, R6):<<1:sat }"); + test_display(&0b1110_0111_100_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 += cmpy(R20, R6):<<1:sat }"); + test_display(&0b1110_0111_110_10100_11_000110_110_10110u32.to_le_bytes(), "{ R23:22 += cmpy(R20, R6*):<<1:sat }"); + test_display(&0b1110_0111_100_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 -= cmpy(R20, R6):<<1:sat }"); + test_display(&0b1110_0111_110_10100_11_000110_111_10110u32.to_le_bytes(), "{ R23:22 -= cmpy(R20, R6*):<<1:sat }"); } #[test] -- cgit v1.1