http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55633
--- Comment #3 from dave.anglin at bell dot net 2012-12-10 13:31:31 UTC --- On 10-Dec-12, at 3:57 AM, burnus at gcc dot gnu.org wrote: > Can you pin-point which version causes the regression? At this point, I onnly know the test didn't fail in early September. > > BIT_SIZE(m) is (correctly) 64 while "ma" is (wrongly) "0". And "NOT > returns the > bitwise Boolean inverse of I." > > Can you run the following code? It matches the failing code but > contains some > debugging printout. > > Can you also try "kind=4"? That seems to work while "kind=8" seems > to fail. > > integer(kind=8) m, ma > ma = 0 > m = 0 > print '("m =",i21,z17," ma=",i2,z13)', m, m, ma, ma > m = not(m) > print '("m =",i21,z17," ma=",i2,z13)', m, m, ma, ma > do while ( (m.ne.0) .and. (ma.lt.127) ) > ma = ma + 1 > m = ishft(m,-1) > print '("m =",i21,z17,", ma=",i2,z13)', m, m, ma, ma > end do > print *, BIT_SIZE(m), ma > if (BIT_SIZE(m) /= ma) error stop > end Here are the results from hppa-unknown-linux-gnu which also fails. kind=8: m = 0 0 ma= 0 0 m = -1 FFFFFFFFFFFFFFFF ma= 0 0 m = 9223372036854775807 7FFFFFFFFFFFFFFF, ma= 1 1 m = 4611686018427387903 3FFFFFFFFFFFFFFF, ma= 2 2 m = 2305843009213693951 1FFFFFFFFFFFFFFF, ma= 3 3 m = 1152921504606846975 FFFFFFFFFFFFFFF, ma= 4 4 m = 576460752303423487 7FFFFFFFFFFFFFF, ma= 5 5 m = 288230376151711743 3FFFFFFFFFFFFFF, ma= 6 6 m = 144115188075855871 1FFFFFFFFFFFFFF, ma= 7 7 m = 72057594037927935 FFFFFFFFFFFFFF, ma= 8 8 m = 36028797018963967 7FFFFFFFFFFFFF, ma= 9 9 m = 18014398509481983 3FFFFFFFFFFFFF, ma=10 A m = 9007199254740991 1FFFFFFFFFFFFF, ma=11 B m = 4503599627370495 FFFFFFFFFFFFF, ma=12 C m = 2251799813685247 7FFFFFFFFFFFF, ma=13 D m = 1125899906842623 3FFFFFFFFFFFF, ma=14 E m = 562949953421311 1FFFFFFFFFFFF, ma=15 F m = 281474976710655 FFFFFFFFFFFF, ma=16 10 m = 140737488355327 7FFFFFFFFFFF, ma=17 11 m = 70368744177663 3FFFFFFFFFFF, ma=18 12 m = 35184372088831 1FFFFFFFFFFF, ma=19 13 m = 17592186044415 FFFFFFFFFFF, ma=20 14 m = 8796093022207 7FFFFFFFFFF, ma=21 15 m = 4398046511103 3FFFFFFFFFF, ma=22 16 m = 2199023255551 1FFFFFFFFFF, ma=23 17 m = 1099511627775 FFFFFFFFFF, ma=24 18 m = 549755813887 7FFFFFFFFF, ma=25 19 m = 274877906943 3FFFFFFFFF, ma=26 1A m = 137438953471 1FFFFFFFFF, ma=27 1B m = 68719476735 FFFFFFFFF, ma=28 1C m = 34359738367 7FFFFFFFF, ma=29 1D m = 17179869183 3FFFFFFFF, ma=30 1E m = 8589934591 1FFFFFFFF, ma=31 1F m = 4294967295 FFFFFFFF, ma=32 20 m = 2147483647 7FFFFFFF, ma=33 21 m = 1073741823 3FFFFFFF, ma=34 22 m = 536870911 1FFFFFFF, ma=35 23 m = 268435455 FFFFFFF, ma=36 24 m = 134217727 7FFFFFF, ma=37 25 m = 67108863 3FFFFFF, ma=38 26 m = 33554431 1FFFFFF, ma=39 27 m = 16777215 FFFFFF, ma=40 28 m = 8388607 7FFFFF, ma=41 29 m = 4194303 3FFFFF, ma=42 2A m = 2097151 1FFFFF, ma=43 2B m = 1048575 FFFFF, ma=44 2C m = 524287 7FFFF, ma=45 2D m = 262143 3FFFF, ma=46 2E m = 131071 1FFFF, ma=47 2F m = 65535 FFFF, ma=48 30 m = 32767 7FFF, ma=49 31 m = 16383 3FFF, ma=50 32 m = 8191 1FFF, ma=51 33 m = 4095 FFF, ma=52 34 m = 2047 7FF, ma=53 35 m = 1023 3FF, ma=54 36 m = 511 1FF, ma=55 37 m = 255 FF, ma=56 38 m = 127 7F, ma=57 39 m = 63 3F, ma=58 3A m = 31 1F, ma=59 3B m = 15 F, ma=60 3C m = 7 7, ma=61 3D m = 3 3, ma=62 3E m = 1 1, ma=63 3F m = 0 0, ma=64 40 64 64 kind=4: m = 0 0 ma= 0 0 m = -1 FFFFFFFF ma= 0 0 m = 2147483647 7FFFFFFF, ma= 1 1 m = 1073741823 3FFFFFFF, ma= 2 2 m = 536870911 1FFFFFFF, ma= 3 3 m = 268435455 FFFFFFF, ma= 4 4 m = 134217727 7FFFFFF, ma= 5 5 m = 67108863 3FFFFFF, ma= 6 6 m = 33554431 1FFFFFF, ma= 7 7 m = 16777215 FFFFFF, ma= 8 8 m = 8388607 7FFFFF, ma= 9 9 m = 4194303 3FFFFF, ma=10 A m = 2097151 1FFFFF, ma=11 B m = 1048575 FFFFF, ma=12 C m = 524287 7FFFF, ma=13 D m = 262143 3FFFF, ma=14 E m = 131071 1FFFF, ma=15 F m = 65535 FFFF, ma=16 10 m = 32767 7FFF, ma=17 11 m = 16383 3FFF, ma=18 12 m = 8191 1FFF, ma=19 13 m = 4095 FFF, ma=20 14 m = 2047 7FF, ma=21 15 m = 1023 3FF, ma=22 16 m = 511 1FF, ma=23 17 m = 255 FF, ma=24 18 m = 127 7F, ma=25 19 m = 63 3F, ma=26 1A m = 31 1F, ma=27 1B m = 15 F, ma=28 1C m = 7 7, ma=29 1D m = 3 3, ma=30 1E m = 1 1, ma=31 1F m = 0 0, ma=32 20 32 32 -- John David Anglin dave.ang...@bell.net