source: proto/pablo/input/test/visitors/Bitwise2IDISAXFormer/bitwise2IDISA.pablo @ 2658

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

Shortened variable names for sanity.

File size: 1004 bytes
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_and(x, simd_not(y));   // Expected
19        r = (x & ~ y);                                  // Actual
20
21        r = simd_xor(x,y);              // Expected
22        r = (x ^ y) ;                   // Actual
23
24        r = simd_or(x,y);               // Expected
25        r = (x | y) ;                   // Actual
26
27        r = simd_not(x);                // Expected
28        r = ~x;                                 // Actual       
29
30        /*       Additional XFormations not under test.
31       
32       
33             0     => simd<1>::constant<0>()
34             -1    => simd<1>::constant<1>()
35             if x: => if bitblock::any(x):
36                 while x: => while bitblock::any(x):
37        */
38       
39        /*
40        r = 0;
41        // r = simd<1>::constant<0>(); // hack '<' and '>'
42        r = simd_1_constant_0_();
43
44        r = -1;
45        // r = simd<1>::constant<1>(); // hack '<' and '>'
46        r = simd_1_constant_1_();
47
48        if(X) {
49        }
50       
51        if ((X^Y)|(X&Y)) {
52        }
53       
54        while(X) {
55        }
56       
57        while(X|Y) {
58        }
59        */
60}
Note: See TracBrowser for help on using the repository browser.