Menu

#2118 hc08-specific long long issues

closed-fixed
hc08 port (43)
HC08
5
2018-01-18
2012-12-28
No

With recent improvements to long long support, more and more regression tests work. However, there now are three that seem to work for the z80-related ports even on 32-bit systems, but fail for hc08 even on 64-bit systems:

tests/gcc-torture-execute-20020226-1.c
tests/gcc-torture-execute-950511-1.c
tests/gcc-torture-execute-20060110-1.c

Philipp

Discussion

  • Philipp Klaus Krause

    • Category: --> HC08
    • Group: --> fixed
     
  • Ben Shi

    Ben Shi - 2016-03-04

    long long support is far from complete on hc08, here is the result of longlong.c

    gen/hc08/longlong/longlong.out:9:--- FAIL: "Assertion failed" on (x >> 1) == 21 at gen/hc08/longlong/longlong.c:131
    gen/hc08/longlong/longlong.out:10:--- FAIL: "Assertion failed" on !(x >> 17) at gen/hc08/longlong/longlong.c:133
    gen/hc08/longlong/longlong.out:11:--- FAIL: "Assertion failed" on (x << 17) == (42l << 17) at gen/hc08/longlong/longlong.c:134
    gen/hc08/longlong/longlong.out:12:--- FAIL: "Assertion failed" on (y >> 1) == 21 at gen/hc08/longlong/longlong.c:137
    gen/hc08/longlong/longlong.out:13:--- FAIL: "Assertion failed" on (y >> 17) == 0 at gen/hc08/longlong/longlong.c:139
    gen/hc08/longlong/longlong.out:14:--- FAIL: "Assertion failed" on (y << 17) == (42ul << 17) at gen/hc08/longlong/longlong.c:140
    gen/hc08/longlong/longlong.out:15:--- FAIL: "Assertion failed" on (y << 16) == (42ul << 16) at gen/hc08/longlong/longlong.c:141
    gen/hc08/longlong/longlong.out:16:--- FAIL: "Assertion failed" on (y >> 8) == (tmp >>= 8) at gen/hc08/longlong/longlong.c:150
    gen/hc08/longlong/longlong.out:17:--- FAIL: "Assertion failed" on (y >> 12) == (tmp >>= 4) at gen/hc08/longlong/longlong.c:151
    gen/hc08/longlong/longlong.out:18:--- FAIL: "Assertion failed" on (y >> 16) == (tmp >>= 4) at gen/hc08/longlong/longlong.c:152
    gen/hc08/longlong/longlong.out:19:--- FAIL: "Assertion failed" on (y >> 24) == (tmp >>= 8) at gen/hc08/longlong/longlong.c:153
    gen/hc08/longlong/longlong.out:20:--- FAIL: "Assertion failed" on (y >> 32) == 0x0ul at gen/hc08/longlong/longlong.c:154
    gen/hc08/longlong/longlong.out:21:--- FAIL: "Assertion failed" on (y << 16) == (tmp << 16) at gen/hc08/longlong/longlong.c:160
    gen/hc08/longlong/longlong.out:22:--- FAIL: "Assertion failed" on (y << 23) == (tmp << 23) at gen/hc08/longlong/longlong.c:161
    gen/hc08/longlong/longlong.out:23:--- FAIL: "Assertion failed" on y == 3 at gen/hc08/longlong/longlong.c:166
    gen/hc08/longlong/longlong.out:24:--- FAIL: "Assertion failed" on y * tmp == 42 * 23 at gen/hc08/longlong/longlong.c:173
    gen/hc08/longlong/longlong.out:25:--- FAIL: "Assertion failed" on y / tmp == 42 / 23 at gen/hc08/longlong/longlong.c:175
    gen/hc08/longlong/longlong.out:26:--- FAIL: "Assertion failed" on y % tmp == 42 % 23 at gen/hc08/longlong/longlong.c:176
    gen/hc08/longlong/longlong.out:27:--- FAIL: "Assertion failed" on x * y == (42ll << 23) * 42 at gen/hc08/longlong/longlong.c:185
    gen/hc08/longlong/longlong.out:28:--- FAIL: "Assertion failed" on x / tmp == (42ll << 23) / 42 at gen/hc08/longlong/longlong.c:187
    gen/hc08/longlong/longlong.out:29:--- FAIL: "Assertion failed" on x % tmp == (42ll << 23) % 42 at gen/hc08/longlong/longlong.c:188
    gen/hc08/longlong/longlong.out:30:--- FAIL: "Assertion failed" on mulLL (y, y) == 0x55667788ull * 0x55667788ull at gen/hc08/longlong/longlong.c:198
    gen/hc08/longlong/longlong.out:31:--- FAIL: "Assertion failed" on mulLL (y, x) == 0x55667788ull * 0x55667788ll at gen/hc08/longlong/longlong.c:202
    gen/hc08/longlong/longlong.out:32:--- FAIL: "Assertion failed" on mulLL (y, y) == 0xa5667788ull * 0xa5667788ull at gen/hc08/longlong/longlong.c:206
    gen/hc08/longlong/longlong.out:33:--- FAIL: "Assertion failed" on mulLL (y, x) == 0xa5667788ull * 0xa5667788ull at gen/hc08/longlong/longlong.c:210
    gen/hc08/longlong/longlong.out:34:--- FAIL: "Assertion failed" on mulLL (y, x) == 0xa5667788ccddull * 0x0788ll at gen/hc08/longlong/longlong.c:215
    gen/hc08/longlong/longlong.out:35:--- FAIL: "Assertion failed" on mulLL (y, x) == 0x1122334455667700ull * 0x2ll at gen/hc08/longlong/longlong.c:220
    gen/hc08/longlong/longlong.out:36:--- FAIL: "Assertion failed" on divULL (y, x) == 0x1122334455667700ull / 0x7ll at gen/hc08/longlong/longlong.c:226
    gen/hc08/longlong/longlong.out:37:--- FAIL: "timeout, simulation killed" in gen/hc08/longlong/longlong.c
    Failure: gen/hc08/longlong/longlong
    longlong                            (f:  1, t:   1, c:  1, b:  20697, t:        0)
    
     
  • Ben Shi

    Ben Shi - 2016-04-10

    other failed test cases of longlong on hc08/s08 besides longlong.c

    bug-2477.c
    gcc-torture-execute-20000314-2.c
    gcc-torture-execute-20000523-1.c
    gcc-torture-execute-20001108-1.c
    gcc-torture-execute-20020201-1.c
    gcc-torture-execute-20020226-1.c
    gcc-torture-execute-20020402-3.c
    gcc-torture-execute-20020506-1.c
    gcc-torture-execute-20020508-1.c
    gcc-torture-execute-20020508-2.c
    gcc-torture-execute-20020508-3.c
    gcc-torture-execute-20041011-1.c
    gcc-torture-execute-20050111-1.c
    gcc-torture-execute-20060110-1.c
    gcc-torture-execute-20060110-2.c
    gcc-torture-execute-20060127-1.c
    gcc-torture-execute-20080529-1.c
    gcc-torture-execute-20101013-1.c
    gcc-torture-execute-920829-1.c
    gcc-torture-execute-921029-1.c
    gcc-torture-execute-941015-1.c
    gcc-torture-execute-950511-1.c
    gcc-torture-execute-950512-1.c
    gcc-torture-execute-960801-1.c
    gcc-torture-execute-961122-1.c
    gcc-torture-execute-961213-1.c
    gcc-torture-execute-961213-1.c
    gcc-torture-execute-pr19606.c

     
  • Philipp Klaus Krause

    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    • status: open --> closed-fixed
     
  • Philipp Klaus Krause

    This mostly got fixed in [r10209]. However, there is still an issue with some % in the longlong.c test. I'll open a separate bug for that.

    Philipp

     

Log in to post a comment.