brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · f3c3ccf Raw
77 lines · plain
1! RUN: bbc -emit-fir -hlfir=false %s -o - | FileCheck %s2! RUN: %flang_fc1 -emit-fir -flang-deprecated-no-hlfir %s -o - | FileCheck %s3 4! CHECK-LABEL: poppar1_test5! CHECK-SAME: %[[AREF:.*]]: !fir.ref<i8>{{.*}}, %[[BREF:.*]]: !fir.ref<i32>{{.*}}6subroutine poppar1_test(a, b)7  integer(1) :: a8  integer :: b9 10  ! CHECK:  %[[AVAL:.*]] = fir.load %[[AREF]] : !fir.ref<i8>11  b = poppar(a)12  ! CHECK:  %[[COUNT:.*]] = math.ctpop %[[AVAL]] : i813  ! CHECK:  %[[CONV:.*]] = fir.convert %[[COUNT]] : (i8) -> i3214  ! CHECK:  %[[C1:.*]] = arith.constant 1 : i3215  ! CHECK:  %[[RESULT:.*]] = arith.andi %[[CONV]], %[[C1]] : i3216  ! CHECK:  fir.store %[[RESULT]] to %[[BREF]] : !fir.ref<i32>17end subroutine poppar1_test18 19! CHECK-LABEL: poppar2_test20! CHECK-SAME: %[[AREF:.*]]: !fir.ref<i16>{{.*}}, %[[BREF:.*]]: !fir.ref<i32>{{.*}}21subroutine poppar2_test(a, b)22  integer(2) :: a23  integer :: b24 25  ! CHECK:  %[[AVAL:.*]] = fir.load %[[AREF]] : !fir.ref<i16>26  b = poppar(a)27  ! CHECK:  %[[COUNT:.*]] = math.ctpop %[[AVAL]] : i1628  ! CHECK:  %[[CONV:.*]] = fir.convert %[[COUNT]] : (i16) -> i3229  ! CHECK:  %[[C1:.*]] = arith.constant 1 : i3230  ! CHECK:  %[[RESULT:.*]] = arith.andi %[[CONV]], %[[C1]] : i3231  ! CHECK:  fir.store %[[RESULT]] to %[[BREF]] : !fir.ref<i32>32end subroutine poppar2_test33 34! CHECK-LABEL: poppar4_test35! CHECK-SAME: %[[AREF:.*]]: !fir.ref<i32>{{.*}}, %[[BREF:.*]]: !fir.ref<i32>{{.*}}36subroutine poppar4_test(a, b)37  integer(4) :: a38  integer :: b39 40  ! CHECK:  %[[AVAL:.*]] = fir.load %[[AREF]] : !fir.ref<i32>41  b = poppar(a)42  ! CHECK:  %[[COUNT:.*]] = math.ctpop %[[AVAL]] : i3243  ! CHECK:  %[[C1:.*]] = arith.constant 1 : i3244  ! CHECK:  %[[RESULT:.*]] = arith.andi %[[COUNT]], %[[C1]] : i3245  ! CHECK:  fir.store %[[RESULT]] to %[[BREF]] : !fir.ref<i32>46end subroutine poppar4_test47 48! CHECK-LABEL: poppar8_test49! CHECK-SAME: %[[AREF:.*]]: !fir.ref<i64>{{.*}}, %[[BREF:.*]]: !fir.ref<i32>{{.*}}50subroutine poppar8_test(a, b)51  integer(8) :: a52  integer :: b53 54  ! CHECK:  %[[AVAL:.*]] = fir.load %[[AREF]] : !fir.ref<i64>55  b = poppar(a)56  ! CHECK:  %[[COUNT:.*]] = math.ctpop %[[AVAL]] : i6457  ! CHECK:  %[[CONV:.*]] = fir.convert %[[COUNT]] : (i64) -> i3258  ! CHECK:  %[[C1:.*]] = arith.constant 1 : i3259  ! CHECK:  %[[RESULT:.*]] = arith.andi %[[CONV]], %[[C1]] : i3260  ! CHECK:  fir.store %[[RESULT]] to %[[BREF]] : !fir.ref<i32>61end subroutine poppar8_test62 63! CHECK-LABEL: poppar16_test64! CHECK-SAME: %[[AREF:.*]]: !fir.ref<i128>{{.*}}, %[[BREF:.*]]: !fir.ref<i32>{{.*}}65subroutine poppar16_test(a, b)66  integer(16) :: a67  integer :: b68 69  ! CHECK:  %[[AVAL:.*]] = fir.load %[[AREF]] : !fir.ref<i128>70  b = poppar(a)71  ! CHECK:  %[[COUNT:.*]] = math.ctpop %[[AVAL]] : i12872  ! CHECK:  %[[CONV:.*]] = fir.convert %[[COUNT]] : (i128) -> i3273  ! CHECK:  %[[C1:.*]] = arith.constant 1 : i3274  ! CHECK:  %[[RESULT:.*]] = arith.andi %[[CONV]], %[[C1]] : i3275  ! CHECK:  fir.store %[[RESULT]] to %[[BREF]] : !fir.ref<i32>76end subroutine poppar16_test77