Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 May 2017 01:34:30 +0000
From:      bugzilla-noreply@freebsd.org
To:        x11@FreeBSD.org
Subject:   [Bug 219561] [lang/clover] partially broken
Message-ID:  <bug-219561-7141@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219561

            Bug ID: 219561
           Summary: [lang/clover] partially broken
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: x11@FreeBSD.org
          Reporter: jmd@freebsd.org
             Flags: maintainer-feedback?(x11@FreeBSD.org)
          Assignee: x11@FreeBSD.org

On FreeBSDDesktop version of HEAD, lang/clover does not do double precision for
at least Carrizo properly:

LLVM ERROR: Cannot select: t708: f64 = fpow t680, t771
  t680: f64 = bitcast t119
    t119: i64 = build_pair t880, t881
      t880: i32 = extract_vector_elt t842, Constant:i32<0>
        t842: v4i32,ch = load<LD16[%arrayidx(addrspace=1)+64](align=64)> t112,
undef:i64
          t62: i64 = add t38, Constant:i64<64>
            t38: i64 = add t773, t37
              t773: i64 = bitcast t772
                t772: v2i32,ch =
load<LD8[undef(addrspace=2)](nontemporal)(derenceable)(invariant)> t0, t2,
undef:i64
                  t2: i64,ch = CopyFromReg t0, Register:i64 %vreg2

                  t4: i64 = undef
              t37: i64 = shl t35, Constant:i32<7>
                t35: i64 = add t29, t769
                  t29: i64 = add t929, t28


                  t769: i64 = zero_extend t768

                t101: i32 = Constant<7>
            t61: i64 = Constant<64>
          t4: i64 = undef
        t87: i32 = Constant<0>
      t881: i32 = extract_vector_elt t842, Constant:i32<1>
        t842: v4i32,ch = load<LD16[%arrayidx(addrspace=1)+64](align=64)> t112,
undef:i64
          t62: i64 = add t38, Constant:i64<64>
            t38: i64 = add t773, t37
              t773: i64 = bitcast t772
                t772: v2i32,ch =
load<LD8[undef(addrspace=2)](nontemporal)(derenceable)(invariant)> t0, t2,
undef:i64
                  t2: i64,ch = CopyFromReg t0, Register:i64 %vreg2

                  t4: i64 = undef
              t37: i64 = shl t35, Constant:i32<7>
                t35: i64 = add t29, t769
                  t29: i64 = add t929, t28


                  t769: i64 = zero_extend t768

                t101: i32 = Constant<7>
            t61: i64 = Constant<64>
          t4: i64 = undef
        t89: i32 = Constant<1>
  t771: f64 = bitcast t770
    t770: v2i32,ch =
load<LD8[undef(addrspace=2)](nontemporal)(dereferenceabinvariant)> t0, t8,
undef:i64
      t8: i64 = add t2, Constant:i64<8>
        t2: i64,ch = CopyFromReg t0, Register:i64 %vreg2
          t1: i64 = Register %vreg2
        t7: i64 = Constant<8>
      t4: i64 = undef


This comes from a trivial OpenCL kernel:


__kernel void powGrid(__global KEDFOCLV *data, const double exponent){          
    const size_t idx = get_global_id(0);
    data[idx] = pow(data[idx], exponent);
}

where KEDFOCLV is defined as double16.

Current benchmarks/clpeak hangs (reproduced by others on Polaris cards
additionally to my Carrizo). The latest github version of clpeak (see D10917)
crashes with an assertion in LLVM 4.0 on, at least, Carrizo and Polaris.

$ clpeak

Platform: Clover
  Device: AMD CARRIZO (DRM 3.8.0 / 12.0-CURRENT, LLVM 4.0.1)
    Driver version  : 17.1.0 (FreeBSD)
    Compute units   : 8
    Clock frequency : 800 MHz
Assertion failed: (DelayedTypos.empty() && "Uncorrected typos!"), function
~Sema, file
/wrkdirs/usr/ports/devel/llvm40/work/llvm-4.0.1rc1.src/tools/clang/lib/Sema/Sema.cpp,
line 317.
Abort trap (core dumped)

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219561-7141>