source: proto/pabloj/trunk/input/test/visitors/Bitwise2IDISAXFormer/bitwise2IDISA.pablos @ 2834

Last change on this file since 2834 was 2834, checked in by ksherdy, 6 years ago

Migrated pablo to pabloj/trunk.

File size: 1.0 KB
Line 
1function void Test() {
2
3/*
4     x & y => simd_and(x, y)
5     x & ~y => simd_andc(x, y)
6     x | y => simd_or(x, y)
7     x ^ y => simd_xor(x, y)
8     ~x    => simd_not(x)
9*/     
10
11        var stream x;
12        var stream y;
13        var stream r;
14       
15        r = simd_and(x,y);              // Expected
16        r = (x & y);                    // Actual
17
18        r = simd_andc(x, y);    // Expected
19        r = (x & ~ y);                  // Actual
20
21        r = simd_andc(y, x);    // Expected
22        r = (~x & y);                   // Actual
23
24        r = simd_xor(x,y);              // Expected
25        r = (x ^ y) ;                   // Actual
26
27        r = simd_or(x,y);               // Expected
28        r = (x | y) ;                   // Actual
29
30        r = simd_not(x);                // Expected
31        r = ~x;                                 // Actual       
32
33        /*       Additional XFormations not under test.
34       
35       
36             0     => simd<1>::constant<0>()
37             -1    => simd<1>::constant<1>()
38             if x: => if bitblock::any(x):
39                 while x: => while bitblock::any(x):
40        */
41       
42        /*
43        r = 0;
44        // r = simd<1>::constant<0>(); // hack '<' and '>'
45        r = simd_1_constant_0_();
46
47        r = -1;
48        // r = simd<1>::constant<1>(); // hack '<' and '>'
49        r = simd_1_constant_1_();
50
51        if(X) {
52        }
53       
54        if ((X^Y)|(X&Y)) {
55        }
56       
57        while(X) {
58        }
59       
60        while(X|Y) {
61        }
62        */
63}
Note: See TracBrowser for help on using the repository browser.