summaryrefslogtreecommitdiff
path: root/js/src/lirasm/tests/cond_eqi.in
blob: 74ff521bf5d6bdfa190630fb2ff5d962240d176a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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