| /* { 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); | |
| } | |