blob: dfa6136500fab6e3b333912d9e902ecd65828a27 [file] [log] [blame]
/* PR gcc/106095 */
/* { dg-do assemble } */
/* { dg-options "-mavx512vl -masm=intel" } */
/* { dg-require-effective-target masm_intel } */
#include <immintrin.h>
#include <stdlib.h>
typedef int v4si __attribute__ ((vector_size (16)));
typedef long long v2di __attribute__ ((vector_size (16)));
typedef long long v4di __attribute__ ((vector_size (32)));
typedef double v2df __attribute__ ((vector_size (16)));
typedef float v4sf __attribute__ ((vector_size (16)));
void bug1(void) {
v4si ints4 = {0, 1, 2, 3};
unsigned long long *addr = malloc(sizeof(*addr));
__builtin_ia32_pmovdw128mem_mask(addr, ints4, 0);
}
int bug2(void) {
v2df a = {0.0, 0.0};
v4sf b = {0.0, 0.0, 0.0, 0.0};
v2df src = {0.0, 0.0};
v2df res = __builtin_ia32_cvtss2sd_mask_round(a, b, src, 0, _MM_FROUND_NO_EXC);
return (int)res[0];
}
int bug3(void) {
v4sf a = {0.0, 0.0, 0.0, 0.0};
v2df b = {0.0, 0.0};
v4sf src = {0.0, 0.0, 0.0, 0.0};
v4sf res = __builtin_ia32_cvtsd2ss_mask_round(a, b, src, 0, _MM_FROUND_NO_EXC);
return (int)res[0];
}
int bug4(void) {
v4di ints4 = {0, 1, 2, 3};
unsigned long long *addr = malloc(sizeof(*addr));
__builtin_ia32_pmovqw256mem_mask(addr, ints4, 0);
}
int bug5(void) {
v2di ints4 = {0, 1};
unsigned int *addr = malloc(sizeof(*addr));
__builtin_ia32_pmovqw128mem_mask(addr, ints4, 0);
}