[Bug 219561] [lang/clover] partially broken
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri May 26 01:34:31 UTC 2017
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 at FreeBSD.org
Reporter: jmd at freebsd.org
Flags: maintainer-feedback?(x11 at FreeBSD.org)
Assignee: x11 at 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.
More information about the freebsd-x11
mailing list