Luite Stegeman pushed to branch wip/ubxsumtag at Glasgow Haskell Compiler / GHC
Commits:
-
55f86df0
by Luite Stegeman at 2025-08-31T12:33:53+02:00
3 changed files:
- testsuite/tests/unboxedsums/UbxSumUnpackedSize.hs
- testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout
- testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout-ws-32
Changes:
... | ... | @@ -3,6 +3,7 @@ module Main where |
3 | 3 | import GHC.Exts.Heap.Closures
|
4 | 4 | import Control.Exception (evaluate)
|
5 | 5 | import Data.Word (Word32)
|
6 | +import Data.Int (Int8, Int16)
|
|
6 | 7 | |
7 | 8 | -- this should get a Word8 tag
|
8 | 9 | data E1
|
... | ... | @@ -123,41 +124,41 @@ data U_Bool = U_Bool {-# UNPACK #-} !Bool |
123 | 124 | deriving (Show)
|
124 | 125 | |
125 | 126 | data U_E1 = U_E1 {-# UNPACK #-} !E1
|
126 | - {-# UNPACK #-} !E1
|
|
127 | - {-# UNPACK #-} !E1
|
|
128 | - {-# UNPACK #-} !E1
|
|
129 | - {-# UNPACK #-} !E1
|
|
130 | - {-# UNPACK #-} !E1
|
|
131 | - {-# UNPACK #-} !E1
|
|
132 | - {-# UNPACK #-} !E1
|
|
127 | + {-# UNPACK #-} !Int8
|
|
128 | + {-# UNPACK #-} !Int8
|
|
129 | + {-# UNPACK #-} !Int8
|
|
130 | + {-# UNPACK #-} !Int8
|
|
131 | + {-# UNPACK #-} !Int8
|
|
132 | + {-# UNPACK #-} !Int8
|
|
133 | + {-# UNPACK #-} !Int8
|
|
133 | 134 | deriving (Show)
|
134 | 135 | |
135 | 136 | data U_E2 = U_E2 {-# UNPACK #-} !E2
|
136 | - {-# UNPACK #-} !E2
|
|
137 | - {-# UNPACK #-} !E2
|
|
138 | - {-# UNPACK #-} !E2
|
|
139 | - {-# UNPACK #-} !E2
|
|
140 | - {-# UNPACK #-} !E2
|
|
141 | - {-# UNPACK #-} !E2
|
|
142 | - {-# UNPACK #-} !E2
|
|
137 | + {-# UNPACK #-} !Int8
|
|
138 | + {-# UNPACK #-} !Int8
|
|
139 | + {-# UNPACK #-} !Int8
|
|
140 | + {-# UNPACK #-} !Int8
|
|
141 | + {-# UNPACK #-} !Int8
|
|
142 | + {-# UNPACK #-} !Int8
|
|
143 | + {-# UNPACK #-} !Int8
|
|
143 | 144 | deriving (Show)
|
144 | 145 | |
145 | 146 | data U_E3 = U_E3 {-# UNPACK #-} !E3
|
146 | - {-# UNPACK #-} !E3
|
|
147 | - {-# UNPACK #-} !E3
|
|
148 | - {-# UNPACK #-} !E3
|
|
149 | - {-# UNPACK #-} !E3
|
|
150 | - {-# UNPACK #-} !E3
|
|
151 | - {-# UNPACK #-} !E3
|
|
152 | - {-# UNPACK #-} !E3
|
|
147 | + {-# UNPACK #-} !Int8
|
|
148 | + {-# UNPACK #-} !Int8
|
|
149 | + {-# UNPACK #-} !Int8
|
|
150 | + {-# UNPACK #-} !Int8
|
|
151 | + {-# UNPACK #-} !Int8
|
|
152 | + {-# UNPACK #-} !Int8
|
|
153 | + {-# UNPACK #-} !Int8
|
|
153 | 154 | deriving (Show)
|
154 | 155 | |
155 | 156 | data U_Mixed = U_Mixed {-# UNPACK #-} !E1
|
156 | - {-# UNPACK #-} !E1
|
|
157 | + {-# UNPACK #-} !Int8
|
|
157 | 158 | {-# UNPACK #-} !E2
|
158 | - {-# UNPACK #-} !E2
|
|
159 | - {-# UNPACK #-} !E3
|
|
160 | - {-# UNPACK #-} !E3
|
|
159 | + {-# UNPACK #-} !Int16
|
|
160 | + {-# UNPACK #-} !Int16
|
|
161 | + {-# UNPACK #-} !Int16
|
|
161 | 162 | {-# UNPACK #-} !Bool
|
162 | 163 | {-# UNPACK #-} !Bool
|
163 | 164 | deriving (Show)
|
... | ... | @@ -200,12 +201,10 @@ u_e1b = U_E1 maxBound minBound maxBound minBound |
200 | 201 | maxBound minBound maxBound minBound
|
201 | 202 | |
202 | 203 | u_e1c :: U_E1
|
203 | -u_e1c = U_E1 E1_1 E1_2 E1_3 E1_4
|
|
204 | - E1_5 E1_6 E1_7 E1_8
|
|
204 | +u_e1c = U_E1 E1_1 126 127 0 1 2 3 4
|
|
205 | 205 | |
206 | 206 | u_e1d :: U_E1
|
207 | -u_e1d = U_E1 E1_1 E1_16 E1_32 E1_64
|
|
208 | - E1_127 E1_128 E1_250 E1_254
|
|
207 | +u_e1d = U_E1 E1_254 126 127 0 1 2 3 4
|
|
209 | 208 | |
210 | 209 | u_e2a :: U_E2
|
211 | 210 | u_e2a = U_E2 minBound maxBound minBound maxBound
|
... | ... | @@ -4,31 +4,31 @@ U_Bool False True False True False True False True |
4 | 4 | size: 2
|
5 | 5 | |
6 | 6 | ### u_e1a
|
7 | -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254
|
|
7 | +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
8 | 8 | size: 2
|
9 | 9 | |
10 | 10 | ### u_e1b
|
11 | -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1
|
|
11 | +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128)
|
|
12 | 12 | size: 2
|
13 | 13 | |
14 | 14 | ### u_e1c
|
15 | -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8
|
|
15 | +U_E1 E1_1 126 127 0 1 2 3 4
|
|
16 | 16 | size: 2
|
17 | 17 | |
18 | 18 | ### u_e1d
|
19 | -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254
|
|
19 | +U_E1 E1_254 126 127 0 1 2 3 4
|
|
20 | 20 | size: 2
|
21 | 21 | |
22 | 22 | ### u_e2a
|
23 | -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255
|
|
23 | +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
24 | 24 | size: 2
|
25 | 25 | |
26 | 26 | ### u_e3a
|
27 | -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256
|
|
27 | +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
28 | 28 | size: 3
|
29 | 29 | |
30 | 30 | ### u_mixed
|
31 | -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False
|
|
31 | +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False
|
|
32 | 32 | size: 3
|
33 | 33 | |
34 | 34 | ### u_maybe
|
... | ... | @@ -4,31 +4,31 @@ U_Bool False True False True False True False True |
4 | 4 | size: 3
|
5 | 5 | |
6 | 6 | ### u_e1a
|
7 | -U_E1 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254
|
|
7 | +U_E1 E1_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
8 | 8 | size: 3
|
9 | 9 | |
10 | 10 | ### u_e1b
|
11 | -U_E1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1 E1_254 E1_1
|
|
11 | +U_E1 E1_254 (-128) 127 (-128) 127 (-128) 127 (-128)
|
|
12 | 12 | size: 3
|
13 | 13 | |
14 | 14 | ### u_e1c
|
15 | -U_E1 E1_1 E1_2 E1_3 E1_4 E1_5 E1_6 E1_7 E1_8
|
|
15 | +U_E1 E1_1 126 127 0 1 2 3 4
|
|
16 | 16 | size: 3
|
17 | 17 | |
18 | 18 | ### u_e1d
|
19 | -U_E1 E1_1 E1_16 E1_32 E1_64 E1_127 E1_128 E1_250 E1_254
|
|
19 | +U_E1 E1_254 126 127 0 1 2 3 4
|
|
20 | 20 | size: 3
|
21 | 21 | |
22 | 22 | ### u_e2a
|
23 | -U_E2 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255 E2_1 E2_255
|
|
23 | +U_E2 E2_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
24 | 24 | size: 3
|
25 | 25 | |
26 | 26 | ### u_e3a
|
27 | -U_E3 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256 E3_1 E3_256
|
|
27 | +U_E3 E3_1 127 (-128) 127 (-128) 127 (-128) 127
|
|
28 | 28 | size: 5
|
29 | 29 | |
30 | 30 | ### u_mixed
|
31 | -U_Mixed E1_254 E1_1 E2_255 E2_1 E3_256 E3_1 True False
|
|
31 | +U_Mixed E1_254 (-128) E2_255 (-32768) 32767 (-32768) True False
|
|
32 | 32 | size: 4
|
33 | 33 | |
34 | 34 | ### u_maybe
|