all.T 18.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# T12791 and T5835 test that GHC uses top-level instances in places where using
# a locally given solution would produce worse code.
# See Note [Solving from instances when interacting Dicts]

test('T5835',
     [stats_num_field('max_bytes_used',
           [(wordsize(64), 44312, 10)]),
       only_ways(['normal'])
       ],
     compile_and_run,
     ['-O'])

test('T12791',
     [stats_num_field('max_bytes_used',
           [(wordsize(64), 44312, 10)]),
       only_ways(['normal'])
       ],
     compile_and_run,
     ['-O'])

21 22
# Tests that newArray/newArray_ is being optimised correctly

Simon Peyton Jones's avatar
Simon Peyton Jones committed
23 24 25
test('T10359',
     [stats_num_field('bytes allocated',
          [(wordsize(64), 499512, 5),
26
           (wordsize(32), 351508, 5)]),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
27 28 29 30 31
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])

32 33
# fortunately the values here are mostly independent of the wordsize,
# because the test allocates an unboxed array of doubles.
34
test('T3586',
35 36
     [stats_num_field('peak_megabytes_allocated', (17, 1)),
                                 # expected value: 17 (amd64/Linux)
37 38 39
      stats_num_field('bytes allocated', (16102024, 5)),
                        # prev:           16835544 (amd64/Linux)
                        # 2014-07-17:     16102024 (amd64/Linux), general round of updates
40 41 42 43 44
      only_ways(['normal']),

      # Use `+RTS -G1` for more stable residency measurements. Note [residency].
      # Only 64-bit as we don't have a good 32-bit test environment at the moment
      when(wordsize(64), extra_hc_opts('+RTS -G1 -RTS'))
45 46 47
      ],
     compile_and_run,
     ['-O'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
48

Simon Peyton Jones's avatar
Simon Peyton Jones committed
49
test('T4830',
ian@well-typed.com's avatar
ian@well-typed.com committed
50
     [stats_num_field('bytes allocated',
51
          [(wordsize(64), 98248, 4),
ian@well-typed.com's avatar
ian@well-typed.com committed
52 53
           #             127000 (amd64/Linux)
           # 2013-02-07:  99264 (amd64/Linux)
54
           # 2014-01-13:  98248 (amd64/Linux) due to #8647
55
           # 2015-04-03: Widen 1->4% (amd64/Windows was doing better)
56
           (wordsize(32), 70646, 3)]),
ian@well-typed.com's avatar
ian@well-typed.com committed
57 58
           # 2013-02-10:  69744 (x86/Windows)
           # 2013-02-10:  71548 (x86/OSX)
59 60
           # 2014-01-28:  Widen range 2->3
           #                (x86/Windows - actual 69000, lower was 69233)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
61 62 63 64 65
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O2'])

66 67
test('T3245', [when(doing_ghci(), extra_hc_opts('-fobject-code'))],
     compile_and_run, ['-O'])
68 69 70 71 72

# Test that bytestring reading/writing isn't over-allocating.  We had
# a bug in hGetBufNonBlocking in 6.13 that triggered this.
#
test('lazy-bs-alloc',
73 74
     [stats_num_field('peak_megabytes_allocated', (2, 1)),
                                 # expected value: 2 (amd64/Linux)
ian@well-typed.com's avatar
ian@well-typed.com committed
75
      stats_num_field('bytes allocated',
Ben Gamari's avatar
Ben Gamari committed
76
          [(wordsize(64), 421792, 5),
ian@well-typed.com's avatar
ian@well-typed.com committed
77 78
            #             489776 (amd64/Linux)
            # 2013-02-07: 429744 (amd64/Linux)
79
            # 2013-12-12: 425400 (amd64/Linux)
80
            # 2015-04-04: Widen 1->3% (amd64/Windows was failing)
81
            # 2015-08-15: 431500 (Windows not good enough. avg of Windows&Linux)
82
            # 2015-12-15: 444720 (amd64/Linux, D1616)
thomie's avatar
thomie committed
83
            # 2015-12-17: 444720 (widen 3->5%, Windows is at 462688)
Ben Gamari's avatar
Ben Gamari committed
84
            # 2017-01-30: 421792 (amd64/Linux, strangely Type-indexed Typeable)
85
           (wordsize(32), 429760, 2)]),
ian@well-typed.com's avatar
ian@well-typed.com committed
86 87
            # 2013-02-10: 421296 (x86/Windows)
            # 2013-02-10: 414180 (x86/OSX)
88
            # 2014-01-22: 411500 (x86/Linux)
89
            # 2014-01-28: Widen 1->2% (x86/Windows was at 425212)
90
            # 2016-04-06: 429760 (x86/Linux) no idea what happened
91
      only_ways(['normal']),
92
      extra_run_opts('arith011.stdout'),
93
      ignore_stdout,
94 95 96 97

      # Use `+RTS -G1` for more stable residency measurements. Note [residency].
      # Only 64-bit as we don't have a good 32-bit test environment at the moment
      when(wordsize(64), extra_hc_opts('+RTS -G1 -RTS'))
98
      ],
99
     # use a suitably big file, without bloating the repo with a new one:
100 101
     compile_and_run,
     ['-O'])
Ian Lynagh's avatar
Ian Lynagh committed
102

Simon Peyton Jones's avatar
Simon Peyton Jones committed
103 104
test('T876',
     [stats_num_field('bytes allocated',
105
          [(platform('x86_64-unknown-mingw32'), 66928, 5),
106
              # 2015-04-03: 71904 (amd64/Windows, unknown cause)
107
              # 2016-11-27: 66928 (amd64/Windows, unknown cause)
108
           (wordsize(64), 58128, 5),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
109
              # 2013-02-14: 1263712 (x86_64/Linux)
110
              # 2014-02-10:   63216 (x86_64/Linux), call arity analysis
111
              # 2016-11-11:   58128 (x86_64/Linux), it's not clear
112

113
           (wordsize(32), 53156, 5) ]),
114 115
              # some date:  663712  (Windows, 64-bit machine)
              # 2014-04-04:  56820  (Windows, 64-bit machine)
116
              # 2014-06-29:  53024  (x86_64/Linux)
117
              # 2014-12-01:  56796  (Windows)
118
              # 2015-07-11:  53156  (x86_64/Linux)
119

Simon Peyton Jones's avatar
Simon Peyton Jones committed
120 121 122 123 124 125
      only_ways(['normal']),
      extra_run_opts('10000')
      ],
     compile_and_run,
     ['-O'])

126 127 128 129 130 131
# Get reproducible floating-point results on x86
if config.arch == 'i386':
   sse2_opts = '-msse2'
else:
   sse2_opts = ''

Ian Lynagh's avatar
Ian Lynagh committed
132
test('T4321',
Simon Peyton Jones's avatar
Simon Peyton Jones committed
133
     omit_ways(['ghci']),
Ian Lynagh's avatar
Ian Lynagh committed
134
     compile_and_run, ['-O ' + sse2_opts])
135

136
test('T3736', [], run_command, ['$MAKE -s --no-print-directory T3736'])
Ian Lynagh's avatar
Ian Lynagh committed
137
test('T3738',
Ian Lynagh's avatar
Ian Lynagh committed
138
     [extra_clean(['T3738a.hi', 'T3738a.o']),
139 140 141
      stats_num_field('peak_megabytes_allocated', (2, 0)),
                    # expected value: 1 (amd64/Linux)
                    # 2016-08-31:     2 (allocation area size bumped to 1MB)
142 143
      stats_num_field('bytes allocated',
                      [(wordsize(32), 45648, 5),
144
                    # expected value: 50520 (x86/Linux)
145
                       (wordsize(64), 50592, 8)]),
146 147
                    # prev:           49400 (amd64/Linux)
                    # 2014-07-17:     50520 (amd64/Linux) general round of updates
Joachim Breitner's avatar
Joachim Breitner committed
148
                    # 2014-09-10:     50592 (amd64/Linux) post-AMP-update
149
                    # 2015-04-03: Widen 5->8% (amd64/Windows was doing better)
Ian Lynagh's avatar
Ian Lynagh committed
150 151 152 153
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])
Ian Lynagh's avatar
Ian Lynagh committed
154

Simon Peyton Jones's avatar
Simon Peyton Jones committed
155
test('MethSharing',
156 157 158
     [stats_num_field('peak_megabytes_allocated', (2, 0)),
                    # expected value: 1 (amd64/Linux)
                    # 2016-08-31:     2 (allocation area size bumped to 1MB)
159
      stats_num_field('bytes allocated',
160 161 162
                      [(wordsize(32), 360940756, 5),
                    # expected value: 2685858140 (x86/OS X)
                          # expected: 360940756 (x86/Linux)
163 164 165
                       (wordsize(64), 480098192, 5)]),
                          # expected:   640067672 (amd64/Linux)
                          # 2017-01-31: 480098192 work/wrap noinline things
Simon Peyton Jones's avatar
Simon Peyton Jones committed
166 167 168 169
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])
170
test('T2902', [], run_command, ['$MAKE -s --no-print-directory T2902'])
171
test('T149',
Simon Marlow's avatar
Simon Marlow committed
172 173
     [ # expect_broken(149),
       # working (2 Jul 2013, x86-64/Linux)
174 175 176 177 178
      extra_clean(['T149_A',    'T149_B',
                   'T149_A.hi', 'T149_B.hi',
                   'T149_A.o',  'T149_B.o'])],
     run_command,
     ['$MAKE -s --no-print-directory T149'])
Ian Lynagh's avatar
Ian Lynagh committed
179

Simon Peyton Jones's avatar
Simon Peyton Jones committed
180
test('T5113',
181 182 183
     [stats_num_field('bytes allocated',
                      [(wordsize(32), 4000000, 5),
                       (wordsize(64), 8000000, 5)]),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
184
      only_ways(['normal'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
185 186 187 188
      ],
     compile_and_run,
     ['-O'])

189 190

test('T4978',
191 192 193 194
     [stats_num_field('bytes allocated',
                      [(wordsize(32), 10000000, 5),
                       (wordsize(64), 10137680, 5)]),
                    # expected value: 10137680 (amd64/Linux)
195 196 197 198
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O2'])
Ian Lynagh's avatar
Ian Lynagh committed
199 200

test('T5205',
201 202 203
     [stats_num_field('bytes allocated',
                      [(wordsize(32), 47088, 5),
                    # expected value: 47088 (x86/Darwin)
204 205 206 207 208

                       (platform('x86_64-unknown-mingw32'), 52264, 5),
                    # 2016-12-14: 52264 (Separate out Windows results)

                       (wordsize(64), 56208, 5)]),
209
                    # expected value: 51320 (amd64/Linux)
210
                    # 2014-07-17:     52600 (amd64/Linux) general round of updates
211
                    # 2015-04-03: Widen 5->7% (amd64/Windows was doing better)
212
                    # 2015-08-15: 50648 (Windows too good. avg of Windows&Linux)
213
                    # 2015-10-30: 56208 (D757: Emit Typeable at definition site)
214
                    # 2016-12-14: Narrow 7->5% (Separate out Windows results)
215
      only_ways(['normal', 'optasm'])
Ian Lynagh's avatar
Ian Lynagh committed
216 217
      ],
     compile_and_run,
218
     [''])
Ian Lynagh's avatar
Ian Lynagh committed
219

Simon Peyton Jones's avatar
Simon Peyton Jones committed
220
test('T5549',
221
     [stats_num_field('bytes allocated',
222
                      [(wordsize(32), 4096606332, 5),
223
                    # expected value: 3362958676 (Windows)
224 225
                    # 2014-12-01:     4096606332 (Windows) integer-gmp2

226
                       (wordsize(64), 5793140200, 5)]),
227
                    # expected value: 6725846120 (amd64/Linux)
228
                    #                 8193140752 (amd64/Linux) integer-gmp2
229
                    #                 5793140200 (amd64/Linux) integer-gmp2
Simon Peyton Jones's avatar
Simon Peyton Jones committed
230 231 232 233 234
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])

Ian Lynagh's avatar
Ian Lynagh committed
235
test('T4474a',
236
     [stats_num_field('bytes allocated',
237 238 239
                      [(wordsize(32), 2405242767, 5),
                       (wordsize(64), 4831890304, 5)]),
                    # expected value: 4831890304 (amd64/OSX)
Ian Lynagh's avatar
Ian Lynagh committed
240 241 242 243 244
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])
test('T4474b',
245
     [stats_num_field('bytes allocated',
246 247 248
                      [(wordsize(32), 2405242767, 5),
                       (wordsize(64), 4831890304, 5)]),
                    # expected value: 4831890304 (amd64/OSX)
Ian Lynagh's avatar
Ian Lynagh committed
249 250 251 252 253
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])
test('T4474c',
254
     [stats_num_field('bytes allocated',
255 256 257
                      [(wordsize(32), 2405242767, 5),
                       (wordsize(64), 4831890304, 5)]),
                    # expected value: 4831890304 (amd64/OSX)
Ian Lynagh's avatar
Ian Lynagh committed
258 259 260 261 262
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])

daniel.is.fischer's avatar
daniel.is.fischer committed
263
test('T5237',
264
     [stats_num_field('bytes allocated',
265 266
                        [(platform('i386-unknown-mingw32'), 73280, 5),
                         (wordsize(32), 78328, 5),
267
                      # expected value: 78328 (i386/Linux)
268
                         (wordsize(64), 104176, 5)]),
269
                      # expected value: 110888 (amd64/Linux)
270
                      # expected value: 104176 (amd64/Linux)
daniel.is.fischer's avatar
daniel.is.fischer committed
271 272 273 274
     only_ways(['normal'])
     ],
    compile_and_run,
    ['-O ' + sse2_opts])
Ian Lynagh's avatar
Ian Lynagh committed
275 276

test('T5536',
277
     [stats_num_field('bytes allocated',
ian@well-typed.com's avatar
ian@well-typed.com committed
278 279 280 281
                      [(wordsize(32), 446260520, 1),
                                   # 1246287228 (i386/Linux)
                                    # 446328556 (i386/Windows)
                                    # 446192484 (i386/OSX)
282 283 284 285
                       (wordsize(64), 892399040, 5)]),
                   # expected value: 2492589480 (amd64/Linux)
                   # 17/1/13:         892399040 (x86_64/Linux)
                   #                  (new demand analyser)
Ian Lynagh's avatar
Ian Lynagh committed
286
     extra_clean(['T5536.data']),
287
     ignore_stdout,
Ian Lynagh's avatar
Ian Lynagh committed
288 289 290 291 292
     only_ways(['normal'])
     ],
    compile_and_run,
    ['-O'])

Simon Marlow's avatar
Simon Marlow committed
293
test('T7257',
294
     [stats_num_field('bytes allocated',
295 296 297
                      [(wordsize(32), 989850664, 10),
                        # expected value: 1246287228 (i386/Linux)
                        # 2016-04-06: 989850664 (i386/Linux) no idea what happened
298
                       (wordsize(64), 1414893248, 5)]),
299
                        # 2012-09-21: 1774893760 (amd64/Linux)
300
                        # 2015-11-03: 1654893248 (amd64/Linux)
301
                        # 2016-06-22: 1414893248 (amd64/Linux, sizeExpr fix)
302 303 304 305 306
      stats_num_field('peak_megabytes_allocated',
                      [(wordsize(32), 217, 5),
                        # 2012-10-08: 217 (x86/Linux)
                       (wordsize(64), 227, 5)]),
                        # 2012-09-21: 227 (amd64/Linux)
Simon Marlow's avatar
Simon Marlow committed
307 308 309 310

      only_ways(['normal'])
     ],
    compile_and_run, ['-O'])
311 312

test('Conversions',
313
     [stats_num_field('bytes allocated',
314
                      [(wordsize(32), 76768, 3),
ian@well-typed.com's avatar
ian@well-typed.com committed
315 316 317
                        # 2012-12-18: 55316 Guessed 64-bit value / 2
                        # 2013-02-10: 77472 (x86/OSX)
                        # 2013-02-10: 79276 (x86/Windows)
318
                        # 2014-01-13: 76768 (x86/Linux) due to #8647
319
                       (wordsize(64), 107544, 5)]),
320
                        # 2012-12-18: 109608 (amd64/OS X)
321
                        # 2014-07-17: 107544 (amd64/Linux)
322 323 324

      only_ways(['normal'])
     ],
325
    compile_and_run, ['-O -msse2'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
326

Simon Peyton Jones's avatar
Simon Peyton Jones committed
327
test('T7507', omit_ways(['ghci']), compile_and_run, ['-O'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
328
# For 7507, stack overflow is the bad case
Simon Peyton Jones's avatar
Simon Peyton Jones committed
329 330

test('T7436',
ian@well-typed.com's avatar
ian@well-typed.com committed
331
     [stats_num_field('max_bytes_used',
332
          [(wordsize(64), 60360, 4),
ian@well-typed.com's avatar
ian@well-typed.com committed
333 334
           #             127000 (amd64/Linux)
           # 2013-02-07:  60360 (amd64/Linux)
335
           # 2015-04-03: Widen 1->4% (amd64/Windows was doing better)
ian@well-typed.com's avatar
ian@well-typed.com committed
336 337 338
           (wordsize(32), 58434, 1)]),
            # 2013-02-10: 58032 (x86/Windows)
            # 2013-02-10: 58836 (x86/OSX)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
339 340 341 342
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
343 344

test('T7797',
345
      [stats_num_field('bytes allocated',
346 347
                      [(wordsize(32), 240044984, 5),
                          # expected value: 2685858140 (x86/OS X)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
348
                          # expected: 360940756 (x86/Linux)
349
                          # expected: 240044984 (x86/Windows, 64bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
350 351
                       (wordsize(64), 480050944, 5)]),
                          # expected: 480050944 (amd64/Linux)
ian@well-typed.com's avatar
ian@well-typed.com committed
352
      extra_clean(['T7797a.hi', 'T7797a.o']),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
353 354 355 356 357
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])

Simon Peyton Jones's avatar
Simon Peyton Jones committed
358
test('T7954',
359
      [stats_num_field('bytes allocated',
360 361 362
                      [(wordsize(32), 920045264, 10),
              # some date:  1380051408    (64-bit Windows machine)
              # 2014-04-04:  920045264    (64-bit Windows machine)
363 364
                       (wordsize(64), 1680051336, 10)]),
              # 2014-02-10: 1680051336 (x86_64/Linux), call arity analysis
Simon Peyton Jones's avatar
Simon Peyton Jones committed
365 366 367 368 369
      only_ways(['normal'])
      ],
     compile_and_run,
     ['-O'])

ian@well-typed.com's avatar
ian@well-typed.com committed
370
test('T7850',
371
     [stats_num_field('peak_megabytes_allocated',
372 373
                      [(wordsize(32), 2, 10),
                       (wordsize(64), 4, 10)]),
ian@well-typed.com's avatar
ian@well-typed.com committed
374 375 376 377
      only_ways(['normal'])],
     compile_and_run,
     ['-O'])

Joachim Breitner's avatar
Joachim Breitner committed
378 379
test('T5949',
     [stats_num_field('bytes allocated',
380
                      [ (wordsize(32), 116020, 10),
381
                        (wordsize(64), 201008, 10)]),
Joachim Breitner's avatar
Joachim Breitner committed
382 383 384 385 386
                      # previously, it was >400000 bytes
      only_ways(['normal'])],
     compile_and_run,
     ['-O'])

Joachim Breitner's avatar
Joachim Breitner committed
387 388
test('T4267',
     [stats_num_field('bytes allocated',
389 390
                      [ (wordsize(32), 36012, 10)
                      # 32-bit value close to 64 bit; c.f. T7619
391
                      , (wordsize(64), 40992, 10) ]),
Joachim Breitner's avatar
Joachim Breitner committed
392
                      # previously, it was >170000 bytes
393 394
                      # 2014-01-17: 130000
                      # 2014-02-10: 40992 (x86_64/Linux), call arity analysis
Joachim Breitner's avatar
Joachim Breitner committed
395 396 397 398
      only_ways(['normal'])],
     compile_and_run,
     ['-O'])

Joachim Breitner's avatar
Joachim Breitner committed
399 400
test('T7619',
     [stats_num_field('bytes allocated',
401
                      [ (wordsize(32), 36012, 10)
402
                      # 32-bit close to 64-bit value; most of this very
403
                      # small number is standard start-up boilerplate I think
404
                      , (wordsize(64), 40992, 10) ]),
Joachim Breitner's avatar
Joachim Breitner committed
405 406 407 408 409
                      # previously, it was >400000 bytes
      only_ways(['normal'])],
     compile_and_run,
     ['-O'])

410 411
test('InlineArrayAlloc',
     [stats_num_field('bytes allocated',
412 413
                      [ (wordsize(32), 800040960, 5)
                      , (wordsize(64), 1600040960, 5) ]),
414 415 416
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
417 418 419

test('InlineByteArrayAlloc',
     [stats_num_field('bytes allocated',
420
                      [ (wordsize(32), 1360036012, 5)
421
                      , (wordsize(64), 1440040960, 5) ]),
422
         # 32 and 64 bit not so different, because
423
         # we are allocating *byte* arrays
424 425 426
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
427 428 429

test('InlineCloneArrayAlloc',
     [stats_num_field('bytes allocated',
430
                      [ (wordsize(32), 800041120, 5)
431
                      , (wordsize(64), 1600041120, 5) ]),
432 433 434
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
435 436 437

test('T9203',
     [stats_num_field('bytes allocated',
438 439 440
                      [ (wordsize(32), 84345136 , 5)
                      # was
                      # 2016-04-06     84345136 (i386/Debian) not sure
lukemaurer's avatar
lukemaurer committed
441
                      , (wordsize(64), 84620888, 5) ]),
Joachim Breitner's avatar
Joachim Breitner committed
442 443
                      # was            95747304
                      # 2019-09-10     94547280 post-AMP cleanup
444
                      # 2015-10-28     95451192 emit Typeable at definition site
lukemaurer's avatar
lukemaurer committed
445
                      # 2016-12-19     84620888 Join points
446 447 448
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
Joachim Breitner's avatar
Joachim Breitner committed
449 450 451

test('T9339',
     [stats_num_field('bytes allocated',
452
                      [ (wordsize(32),    40046844, 5)
lukemaurer's avatar
lukemaurer committed
453
                      , (wordsize(64),       50728, 5) ]),
Joachim Breitner's avatar
Joachim Breitner committed
454 455
                      # w/o fusing last: 320005080
                      # 2014-07-22:       80050760
lukemaurer's avatar
lukemaurer committed
456
                      # 2016-08-17:          50728 Join points (#12988)
Joachim Breitner's avatar
Joachim Breitner committed
457 458 459
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
460

461 462 463 464 465 466 467 468
test('T8472',
     [stats_num_field('bytes allocated',
                      [ (wordsize(32),    50000, 80)
                      , (wordsize(64),    51424, 80) ]),
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])

Simon Peyton Jones's avatar
Simon Peyton Jones committed
469 470 471 472 473 474
test('T12996',
     [stats_num_field('bytes allocated',
                      [ (wordsize(64),    76776, 5) ]),
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
475 476 477 478 479 480 481 482

test('T13001',
     [stats_num_field('bytes allocated',
                      [ (wordsize(32),    46728, 20)
                      , (wordsize(64),    50600, 20) ]),
      only_ways(['normal'])],
     compile_and_run,
     ['-O2'])
483 484 485

test('T12990',
    [stats_num_field('bytes allocated',
486
                     [ (wordsize(64), 20040936, 5) ]),
487 488 489
                     # 2017-01-03     34440936  w/o inlining unsaturated
                     #                          constructor wrappers
                     # 2017-01-03     21640904 inline wrappers
490
                     # 2017-01-31     20040936 work/wrap noinline things
491 492 493
     only_ways(['normal'])],
    compile_and_run,
    ['-O2'])
David Feuer's avatar
David Feuer committed
494 495 496 497 498 499 500 501 502 503 504 505 506

test('T13218',
    [stats_num_field('bytes allocated',
                     [ (wordsize(64), 82040056, 5) ]),
                     # 8.1 with default <$  163644216
                     # 8.1 with derived <$   82040056
     stats_num_field('max_bytes_used',
                     [ (wordsize(64), 359128, 10) ]),
                     # 8.1 with default <$  64408248
                     # 8.1 with derived <$    359128
     only_ways(['normal'])],
    compile_and_run,
    ['-O'])