ABataev added inline comments.
================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594
+ !Context.getTargetInfo().hasFloat128Type() &&
+ Context.getTargetInfo().getLongDoubleWidth() != 128) ||
(Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&
----------------
jdenny wrote:
> ABataev wrote:
> > Hmm, this look strange, at least. Seems to me, in this case the size of the
> > long double is 128 bit (copied from the host), but device reports that it
> > does not support 128 bit double. Seems to me, it is a problem with the
> > device configuration. Why does the host translate long double to 128 bit
> > fp, while the device translates it to 64 bit FP?
> Sorry, I think I've misunderstood what's happening here, and my fix is
> probably wrong.
>
> For x86_64, the example from my patch summary fails as described there. Does
> that work for you?
>
> For powerpc64le, the reproducer I added to the test suite fails without this
> patch. Shouldn't it succeed?
Still, seems to me like the problem with the device config, not the original
check.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64289/new/
https://reviews.llvm.org/D64289
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits