I'm writing a test program to get used to Clang's language extensions for OpenCL style vectors. I can get the code to work but I'm having issues getting one aspect of it down. I can't seem to figure out how to get clang to just load in a vector from a scalar array nicely.
At the moment I have to do something like:
byte16 va = (byte16){ argv[1][start], argv[1][start + 1], argv[1][start + 2],
argv[1][start + 3], argv[1][start + 4], argv[1][start + 5],
argv[1][start + 6], argv[1][start + 7], argv[1][start + 8],
argv[1][start + 9], argv[1][start + 10], argv[1][start + 11],
argv[1][start + 12], argv[1][start + 13], argv[1][start + 14],
argv[1][start + 15]};
I would ideally like something like this:
byte16 va = *(byte16 *)(&(argv[1][start]));
Which I can easily do using the proper intrinsics for ARM or x86. But that code causes the program to crash although it compiles.