blob: 34ccd0e7c3b03a214fa36a3d07955d787afb3ccd [file] [log] [blame]
/* { dg-do compile } */
/* { dg-additional-options "--save-temps -O1" } */
/* { dg-final { check-function-bodies "**" "" "" } } */
#include <stdint.h>
#pragma GCC target "+cssc"
#define MIN(X, Y) ((X) > (Y) ? (Y) : (X))
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
/*
** uminw:
** umin w0, w[01], w[01]
** ret
*/
uint32_t
uminw (uint32_t a, uint32_t b)
{
return MIN (a, b);
}
/*
** uminx:
** umin x0, x[01], x[01]
** ret
*/
uint64_t
uminx (uint64_t a, uint64_t b)
{
return MIN (a, b);
}
/*
** sminw:
** smin w0, w[01], w[01]
** ret
*/
int32_t
sminw (int32_t a, int32_t b)
{
return MIN (a, b);
}
/*
** sminx:
** smin x0, x[01], x[01]
** ret
*/
int64_t
sminx (int64_t a, int64_t b)
{
return MIN (a, b);
}
/*
** umaxw:
** umax w0, w[01], w[01]
** ret
*/
uint32_t
umaxw (uint32_t a, uint32_t b)
{
return MAX (a, b);
}
/*
** umaxx:
** umax x0, x[01], x[01]
** ret
*/
uint64_t
umaxx (uint64_t a, uint64_t b)
{
return MAX (a, b);
}
/*
** smaxw:
** smax w0, w[01], w[01]
** ret
*/
int32_t
smaxw (int32_t a, int32_t b)
{
return MAX (a, b);
}
/*
** smaxx:
** smax x0, x[01], x[01]
** ret
*/
int64_t
smaxx (int64_t a, int64_t b)
{
return MAX (a, b);
}