Skip to content

[ESIMD] Multiple ESIMD tests failing because simd does not provide move constructors/assignment operators #14542

@lbushi25

Description

@lbushi25

Describe the bug

Tests SYCL :: ESIMD/api/functional/ctors/ctor_move_core.cpp, SYCL :: ESIMD/api/functional/ctors/ctor_move_fp_extra.cpp, SYCL :: ESIMD/api/functional/operators/operator_assignment_move_and_copy_core.cpp are failing because simd does not provide move constructors/assignment operators.
Once simd provides move constructors/assignment operators, please remove XFAIL from test sources.
Snippet taken from: https://github.com/intel/llvm/actions/runs/9716365508/job/26824198678?pr=14354

To reproduce

# RUN: at line 8
/__w/llvm/llvm/toolchain/bin//clang++   -fsycl -fsycl-targets=spir64  /__w/llvm/llvm/llvm/sycl/test-e2e/ESIMD/api/functional/ctors/ctor_move_fp_extra.cpp -fsycl-device-code-split=per_kernel -o /__w/llvm/llvm/build-e2e/ESIMD/api/functional/ctors/Output/ctor_move_fp_extra.cpp.tmp.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ESIMD/api/functional/ctors/ctor_move_fp_extra.cpp -fsycl-device-code-split=per_kernel -o /__w/llvm/llvm/build-e2e/ESIMD/api/functional/ctors/Output/ctor_move_fp_extra.cpp.tmp.out
# note: command had no output on stdout or stderr
# RUN: at line 9
env ONEAPI_DEVICE_SELECTOR=level_zero:gpu  /__w/llvm/llvm/build-e2e/ESIMD/api/functional/ctors/Output/ctor_move_fp_extra.cpp.tmp.out
# executed command: env ONEAPI_DEVICE_SELECTOR=level_zero:gpu /__w/llvm/llvm/build-e2e/ESIMD/api/functional/ctors/Output/ctor_move_fp_extra.cpp.tmp.out
# .---command stdout------------
# | Failed for simd<sycl::half, 1>, with context: initializer. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 1>, with context: variable declaration. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 1>, with context: rvalue in expression. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 1>, with context: const reference. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 8>, with context: initializer. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 8>, with context: variable declaration. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 8>, with context: rvalue in expression. A copy constructor instead of a move constructor was used.
# | Failed for simd<sycl::half, 8>, with context: const reference. A copy constructor instead of a move constructor was used.
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | Device does not support double precision floating point operations
# | === Test FAILED
# `-----------------------------
# error: command failed with exit status: 1

Environment

  • OS: Agnostic
  • Target device and vendor: [e.g. Intel GPU]
  • DPC++ version: [e.g. commit hash or output of clang++ --version]
  • Dependencies version: [e.g. the output of sycl-ls --verbose]

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfirmedesimdExplicit SIMD feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions