Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/dec_intrinsic_ints.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gfortran.dg/dec_intrinsic_ints.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,165 @@ +! { dg-do compile } +! { dg-options "-fdec-intrinsic-ints" } +! +! Test B/I/J/K integer intrinsics. +! +program main + +implicit none + +integer*1 :: ab = 9_1, bb = 3_1, cb +integer*2 :: ai = 9_2, bi = 3_2, ci +integer*4 :: aj = 9_4, bj = 3_4, cj +integer*8 :: ak = 9_8, bk = 3_8, ck +integer :: a = 9 , b = 3 , c + +integer*1 :: ib = 9_1, bpos = 3_1 +integer*2 :: ii = 9_2, ipos = 3_2 +integer*4 :: ij = 9_4, jpos = 3_4 +integer*8 :: ik = 9_8, kpos = 3_8 +integer :: i = 9 , pos = 3 + +integer*1 :: ba, bc, bd +integer*2 :: ia, ic, id +integer*4 :: ja, jb, jc, jd +integer*8 :: ka, kb, kc, kd + +logical*1 :: lb +logical*2 :: li +logical*4 :: lj +logical*8 :: lk +logical :: l + +real :: r + +lb = bbtest(ib, bpos) +li = bitest(ii, ipos) +lj = bjtest(ij, jpos) +lk = bktest(ik, kpos) +l = btest(i , pos) + +lb = bbtest(9_1, 3_1) +li = bitest(9_2, 3_2) +lj = bjtest(9_4, 3_4) +lk = bktest(9_8, 3_8) +l = btest(9 , 3 ) + +r = floati(ai) +r = floatj(aj) +r = floatk(ak) +r = float (a ) + +r = floati(9_2) +r = floatj(9_4) +r = floatk(9_8) +r = float (9 ) + +bb = babs(ab) +bi = iiabs(ai) +bj = jiabs(aj) +bk = kiabs(ak) +b = iabs(a ) + +bb = babs(9_1) +bi = iiabs(9_2) +bj = jiabs(9_4) +bk = kiabs(9_8) +b = iabs(9 ) + +cb = biand(ab, bb) +ci = iiand(ai, bi) +cj = jiand(aj, bj) +ck = kiand(ak, bk) +c = iand(a , b ) + +cb = biand(9_1, 3_1) +ci = iiand(9_2, 3_2) +cj = jiand(9_4, 3_4) +ck = kiand(9_8, 3_8) +c = iand(9 , 3 ) + +cb = bbclr(ib, bpos) +ci = iibclr(ii, ipos) +cj = jibclr(ij, jpos) +ck = kibclr(ik, kpos) +c = ibclr(i , pos) + +cb = bbclr(9_1, 3_1) +ci = iibclr(9_2, 3_2) +cj = jibclr(9_4, 3_4) +ck = kibclr(9_8, 3_8) +c = ibclr(i , pos) + +cb = bbset(ib, bpos) +ci = iibset(ii, ipos) +cj = jibset(ij, jpos) +ck = kibset(ik, kpos) +c = ibset(i , pos) + +cb = bbset(9_1, 3_1) +ci = iibset(9_2, 3_2) +cj = jibset(9_4, 3_4) +ck = kibset(9_8, 3_8) +c = ibset(i , pos) + +cb = bieor(ab, bb) +ci = iieor(ai, bi) +cj = jieor(aj, bj) +ck = kieor(ak, bk) +c = ieor(a , b ) + +cb = bieor(9_1, 3_1) +ci = iieor(9_2, 3_2) +cj = jieor(9_4, 3_4) +ck = kieor(9_8, 3_8) +c = ieor(9 , 3 ) + +cb = bior(ab, bb) +ci = iior(ai, bi) +cj = jior(aj, bj) +ck = kior(ak, bk) +c = ior(a , b ) + +cb = bior(9_1, 3_1) +ci = iior(9_2, 3_2) +cj = jior(9_4, 3_4) +ck = kior(9_8, 3_8) +c = ior(9 , 3 ) + +cb = bmod(ab, bb) +ci = imod(ai, bi) +cj = jmod(aj, bj) +ck = kmod(ak, bk) +c = mod(a , b ) + +cb = bmod(9_1, 3_1) +ci = imod(9_2, 3_2) +cj = jmod(9_4, 3_4) +ck = kmod(9_8, 3_8) +c = mod(9 , 3 ) + +ba = bbits(121, 10, 5) +call bmvbits(121_1, 2, 3, ba, 1) +bc = bshftc(ba, 3, 6) +bd = bshft(bc, -3) +ba = bnot(bd) + +ia = iibits(357, 10, 5) +call imvbits(357_2, 8, 3, ia, 1) +ic = iishftc(ia, 3, 6) +id = iishft(ic, -3) +ia = inot(id) + +ja = jibits(357, 10, 5) +call jmvbits(357_4, 8, 3, ja, 1) +jc = jishftc(ja, 3, 6) +jd = jishft(jc, -3) +ja = jnot(jd) + +ka = kibits(357_8, 10_8, 5_8) +call kmvbits(357_8, 8_8, 3_8, ka, 1_8) +kc = kishftc(ka, 3_8, 6_8) +kd = kishft(kc, -3_8) +ka = knot(kd) + +end program