vec_splatsADD TO COMPARE ADDED TO COMPARE
IBM-Z (64 bits)/ IBM-Z
View official documentation
Location:
Get-Set
>
Vector Duplicate Scalar to All Elements
Purpose:
Returns a vector of which the value of each element is set to a. Minimum Arch: Z11.
Prototypes
Usage:
vector unsigned short result =
vec_splats(
unsigned short a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
unsigned short a = 42;
vector unsigned short d = vec_splats(a);
printf("a: %u\n", a);
printf("d: ");
for (int i = 0; i < 8; i++)
printf("%4u ", d[i]);
printf("\n");
return 0;
}
Usage:
vector unsigned long long result =
vec_splats(
unsigned long long a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
unsigned long long a = 42;
vector unsigned long long d = vec_splats(a);
printf("a: %llu\n", a);
printf("d: ");
for (int i = 0; i < 2; i++)
printf("%4llu ", d[i]);
printf("\n");
return 0;
}
Usage:
vector float result =
vec_splats(
float a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
float a = 3.5;
vector float d = vec_splats(a);
printf("a: %.1f\n", a);
printf("d: ");
for (int i = 0; i < 4; i++)
printf("%6.1f ", d[i]);
printf("\n");
return 0;
}
Usage:
vector signed long long result =
vec_splats(
signed long long a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
signed long long a = 42;
vector signed long long d = vec_splats(a);
printf("a: %lld\n", a);
printf("d: ");
for (int i = 0; i < 2; i++)
printf("%4lld ", d[i]);
printf("\n");
return 0;
}
Usage:
vector double result =
vec_splats(
double a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
double a = 3.14;
vector double d = vec_splats(a);
printf("a: %.2f\n", a);
printf("d: ");
for (int i = 0; i < 2; i++)
printf("%6.2f ", d[i]);
printf("\n");
return 0;
}
Usage:
vector unsigned int result =
vec_splats(
unsigned int a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
unsigned int a = 42;
vector unsigned int d = vec_splats(a);
printf("a: %u\n", a);
printf("d: ");
for (int i = 0; i < 4; i++)
printf("%4u ", d[i]);
printf("\n");
return 0;
}
Usage:
vector signed int result =
vec_splats(
int a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
signed int a = 42;
vector signed int d = vec_splats(a);
printf("a: %d\n", a);
printf("d: ");
for (int i = 0; i < 4; i++)
printf("%4d ", d[i]);
printf("\n");
return 0;
}
Usage:
vector signed char result =
vec_splats(
signed char a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
signed char a = 42;
vector signed char d = vec_splats(a);
printf("a: %d\n", a);
printf("d: ");
for (int i = 0; i < 16; i++)
printf("%4d ", d[i]);
printf("\n");
return 0;
}
Usage:
vector signed short result =
vec_splats(
signed short a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
signed short a = 42;
vector signed short d = vec_splats(a);
printf("a: %d\n", a);
printf("d: ");
for (int i = 0; i < 8; i++)
printf("%4d ", d[i]);
printf("\n");
return 0;
}
Usage:
vector unsigned char result =
vec_splats(
unsigned char a
)
Example:
#include <vecintrin.h>
#include <stdio.h>
int main() {
unsigned char a = 42;
vector unsigned char d = vec_splats(a);
printf("a: %u\n", a);
printf("d: ");
for (int i = 0; i < 16; i++)
printf("%4u ", d[i]);
printf("\n");
return 0;
}
SIMD Intrinsics Summary
| SIMD Engines: | 6 |
| C Intrinsics: | 10444 |
| NEON: | 4353 |
| AVX2: | 405 |
| AVX512: | 4717 |
| SSE4.2: | 598 |
| VSX: | 192 |
| IBM-Z: | 179 |