blob: 0bf832d0e8aff8cdd01aeb7b21e30568d45d979f [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -mlasx" } */
/* { dg-final { scan-assembler "xvaddwev.w.h" } } */
/* { dg-final { scan-assembler "xvaddwod.w.h" } } */
/* { dg-final { scan-assembler "xvaddwev.w.hu" } } */
/* { dg-final { scan-assembler "xvaddwod.w.hu" } } */
#include <stdint.h>
#define SIZE 1024
void
wide_uadd (uint32_t *foo, uint16_t *a, uint16_t *b)
{
for ( int i = 0; i < SIZE; i++)
foo[i] = a[i] + b[i];
}
void
wide_sadd (int32_t *foo, int16_t *a, int16_t *b)
{
for ( int i = 0; i < SIZE; i++)
foo[i] = a[i] + b[i];
}