diff options
Diffstat (limited to 'js/src/lirasm/tests/cond_eqi.in')
-rw-r--r-- | js/src/lirasm/tests/cond_eqi.in | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/js/src/lirasm/tests/cond_eqi.in b/js/src/lirasm/tests/cond_eqi.in new file mode 100644 index 0000000..74ff521 --- /dev/null +++ b/js/src/lirasm/tests/cond_eqi.in @@ -0,0 +1,53 @@ +; A few utility constants . +sh0 = immi 0 +sh1 = immi 1 +sh2 = immi 2 +sh3 = immi 3 +sh4 = immi 4 +sh5 = immi 5 +sh6 = immi 6 +sh7 = immi 7 +sh8 = immi 8 + +i0 = immi 0 +i1 = immi 1 +i2 = immi -1 + +; ---------------------------------------------------------------------------- +; Combinations of 'eqi'. +eq0 = eqi i0 i0 ; 1 +eq1 = eqi i0 i1 ; 0 +eq2 = eqi i0 i2 ; 0 +eq3 = eqi i1 i0 ; 0 +eq4 = eqi i1 i1 ; 1 +eq5 = eqi i1 i2 ; 0 +eq6 = eqi i2 i0 ; 0 +eq7 = eqi i2 i1 ; 0 +eq8 = eqi i2 i2 ; 1 + +; Aggregate the results. +eq0sh = lshi eq0 sh0 +eq1sh = lshi eq1 sh1 +eq2sh = lshi eq2 sh2 +eq3sh = lshi eq3 sh3 +eq4sh = lshi eq4 sh4 +eq5sh = lshi eq5 sh5 +eq6sh = lshi eq6 sh6 +eq7sh = lshi eq7 sh7 +eq8sh = lshi eq8 sh8 + +eq0_1 = ori eq0sh eq1sh +eq2_3 = ori eq2sh eq3sh +eq4_5 = ori eq4sh eq5sh +eq6_7 = ori eq6sh eq7sh + +eq0_3 = ori eq0_1 eq2_3 +eq4_7 = ori eq4_5 eq6_7 + +eq0_7 = ori eq0_3 eq4_7 + +eq = ori eq0_7 eq8sh + +; The result should be {0001,0001,0001}, 0x111, or 273. + +reti eq |