summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_run/T20203.hs
blob: ddfb06eb133a77cfc4245932f8232e1ec224d5ea (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
54
55
56
57
58
59
60
61
62
63
64
module T20203 where

import Data.Bits
import Data.Int

bitAndInt :: Int -> Int
bitAndInt x = (x .&. 0xFA) .&. 0xAF

bitOrInt :: Int -> Int
bitOrInt x = (x .|. 0xFA) .|. 0xAF

bitAndInt8 :: Int8 -> Int8
bitAndInt8 x = (x .&. 0x1) .&. 0x10

bitOrInt8 :: Int8 -> Int8
bitOrInt8 x = (x .|. 0x1) .|. 0x10

bitAndInt16 :: Int16 -> Int16
bitAndInt16 x = (x .&. 0xFA) .&. 0xAF

bitOrInt16 :: Int16 -> Int16
bitOrInt16 x = (x .|. 0xFA) .|. 0xAF

bitAndInt32 :: Int32 -> Int32
bitAndInt32 x = (x .&. 0xFA) .&. 0xAF

bitOrInt32 :: Int32 -> Int32
bitOrInt32 x = (x .|. 0xFA) .|. 0xAF

bitAndInt64 :: Int64 -> Int64
bitAndInt64 x = (x .&. 0xFA) .&. 0xAF

bitOrInt64 :: Int64 -> Int64
bitOrInt64 x = (x .|. 0xFA) .|. 0xAF

bitAndTwoVarInt :: Int -> Int -> Int
bitAndTwoVarInt x y = (x .&. 0xFA) .&. (y .&. 0xAF)

bitOrTwoVarInt :: Int -> Int -> Int
bitOrTwoVarInt x y = (x .|. 0xFA) .|. (y .|. 0xAF)

bitAndTwoVarInt8 :: Int8 -> Int8 -> Int8
bitAndTwoVarInt8 x y = (x .&. 0x1) .&. (y .&. 0x10)

bitOrTwoVarInt8 :: Int8 -> Int8 -> Int8
bitOrTwoVarInt8 x y = (x .|. 0x1) .|. (y .|. 0x10)

bitAndTwoVarInt16 :: Int16 -> Int16 -> Int16
bitAndTwoVarInt16 x y = (x .&. 0xFA) .&. (y .&. 0xAF)

bitOrTwoVarInt16 :: Int16 -> Int16 -> Int16
bitOrTwoVarInt16 x y = (x .|. 0xFA) .|. (y .|. 0xAF)

bitAndTwoVarInt32 :: Int32 -> Int32 -> Int32
bitAndTwoVarInt32 x y = (x .&. 0xFA) .&. (y .&. 0xAF)

bitOrTwoVarInt32 :: Int32 -> Int32 -> Int32
bitOrTwoVarInt32 x y = (x .|. 0xFA) .|. (y .|. 0xAF)

bitAndTwoVarInt64 :: Int64 -> Int64 -> Int64
bitAndTwoVarInt64 x y = (x .&. 0xFA) .&. (y .&. 0xAF)

bitOrTwoVarInt64 :: Int64 -> Int64 -> Int64
bitOrTwoVarInt64 x y = (x .|. 0xFA) .|. (y .|. 0xAF)