diff options
Diffstat (limited to 'testsuite/tests/simplCore/should_run/T20203.hs')
-rw-r--r-- | testsuite/tests/simplCore/should_run/T20203.hs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/testsuite/tests/simplCore/should_run/T20203.hs b/testsuite/tests/simplCore/should_run/T20203.hs new file mode 100644 index 0000000000..ddfb06eb13 --- /dev/null +++ b/testsuite/tests/simplCore/should_run/T20203.hs @@ -0,0 +1,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) |