Closed
Description
There is
operator&(const vec& lhs, const vec& rhs)
operator&(const vec& lhs, const DataT& rhs)
operator&(const DataT& lhs, const vec& rhs)
in 4.14.2.1. Vec interface , but they are not available for swizzled vec and the last one not available for regular vec also.
To Reproduce
#include <sycl.hpp>
int main() {
sycl::vec<int, 2> testVec1(3);
sycl::vec<int, 2> testVec2(2);
int v = 5;
sycl::vec<int, 2> resVec;
resVec = v % testVec2;
resVec = testVec1.template swizzle<sycl::elem::s0, sycl::elem::s1>() % testVec2.template swizzle<sycl::elem::s0, sycl::elem::s1>();
resVec = testVec1.template swizzle<sycl::elem::s0, sycl::elem::s1>() % v;
resVec = testVec1.template swizzle<sycl::elem::s0, sycl::elem::s1>() % testVec2;
resVec = v % testVec2.template swizzle<sycl::elem::s0, sycl::elem::s1>();
clang++ -fsycl ./sample_vec_subscript.cpp -o sample
Output:
./sample_vec_subscript.cpp:7:58: error: type 'Swizzle<1>' (aka 'SwizzleOp<sycl::vec<int, 2>, GetOp<int>, GetOp<int>, sycl::detail::GetOp, 1>') does not provide a subscript operator
auto ref = input_vec.template swizzle<sycl::elem::s1>()[0];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
1 error generated.
Environment:
- OS: Red_8.2_x86_64
- Memory: 504GB
- CPUCount: 2 CoreCount: 64 HT: yes
- CPU Model: Intel(R) Xeon(R) Platinum 8260M CPU @ 2.40GHz
- Compiler version: DPC++ daily 2023-03-21