[libcxx-commits] [PATCH] D156225: [libcxx] <experimental/simd> Add broadcast constructor of class simd/simd_mask

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Aug 28 10:05:59 PDT 2023


Mordante added a comment.

In D156225#4620453 <https://reviews.llvm.org/D156225#4620453>, @Joy12138 wrote:

> I attempted to debug the error in the CI. When `_Tp` is `__int128 unsigned`, in the `__broadcast` function within the `vec_ext.h` header, the value of `__result.__get(0)` printed just before the return statement is correct. However, after the return, in the broadcast constructor within the `simd.h` header, the higher 64 bits of the value printed as `_Impl::__broadcast(static_cast<value_type>(__v)).__get(0)` become garbled data. It seems that the value is being truncated upon return.
>
> Strangely, this issue only reproduces in the current `libcxx CI - GCC 12 / C++latest` environment. I have been unable to reproduce this issue in any other environment.
>
> Currently, I am unsure how to go about fixing this issue. Do you have any suggestions? @philnik

Our minimum supported GCC version recently changed to GCC-13. Can you rebase this patch? That will pick up GCC-13 in the CI.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156225/new/

https://reviews.llvm.org/D156225



More information about the libcxx-commits mailing list