xref: /netbsd-src/external/mit/isl/dist/test_inputs/codegen/isolate7.st (revision 5971e316fdea024efff6be8f03536623db06833e)
1*5971e316Smrg# Check that no expressions of the form ((-n + 2147483648) % 32) are produced.
2*5971e316Smrgdomain: "[n] -> { S_2[i] : i >= 0 and i <= -1 + n; S_1[i, j] : j >= 0 and j <= -1 + n and i >= 0 and i <= -1 + n }"
3*5971e316Smrgchild:
4*5971e316Smrg  context: "[n] -> { [] : n <= 2147483647 and n >= 0 }"
5*5971e316Smrg  child:
6*5971e316Smrg    schedule: "[n] -> [{ S_1[i, j] -> [(32*floor((i)/32))]; S_2[i] -> [(32*floor((i)/32))] }, { S_1[i, j] -> [(32*floor((j)/32))]; S_2[i] -> [(32*floor((n)/32))] }]"
7*5971e316Smrg    permutable: 1
8*5971e316Smrg    options: "[n] -> { atomic[i0] : i0 >= 0 and i0 <= 1; isolate[[] -> [i0, i1]] : (exists (e0 = floor((i0)/32), e1 = floor((i1)/32): 32e0 = i0 and 32e1 = i1 and i0 >= 0 and i0 <= -32 + n and i1 >= 0 and i1 <= n)) or (exists (e0 = floor((i0)/32), e1 = floor((i1)/32): 32e0 = i0 and 32e1 = i1 and i0 >= 0 and i0 <= -32 + n and i1 >= -31 + n and i1 <= -31 + 2n)) }"
9*5971e316Smrg    child:
10*5971e316Smrg          schedule: "[n] -> [{ S_1[i, j] -> [(i - 32*floor((i)/32))]; S_2[i] -> [(i - 32*floor((i)/32))] }, { S_1[i, j] -> [(j - 32*floor((j)/32))]; S_2[i] -> [(n - 32*floor((n)/32))] }]"
11*5971e316Smrg          permutable: 1
12*5971e316Smrg          options: "{ separate[i0] : i0 >= 0 and i0 <= 1 }"
13*5971e316Smrg          child:
14*5971e316Smrg            sequence:
15*5971e316Smrg            - filter: "[n] -> { S_1[i, j] }"
16*5971e316Smrg            - filter: "[n] -> { S_2[i] }"
17