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

Yin Zhang via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Aug 27 21:55:54 PDT 2023


Joy12138 added a comment.

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


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