diff options
Diffstat (limited to 'test/monniaux/cmov/cmov.c')
-rw-r--r-- | test/monniaux/cmov/cmov.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/monniaux/cmov/cmov.c b/test/monniaux/cmov/cmov.c new file mode 100644 index 00000000..2e388834 --- /dev/null +++ b/test/monniaux/cmov/cmov.c @@ -0,0 +1,22 @@ +#include <stdio.h> + +long cmovl(int x, long y, long z) { + return __builtin_sel(x, y, z); +} + +int cmovi(int x, int y, int z) { + return __builtin_sel(x, y, z); +} + +double cmovd(int x, double y, double z) { + return __builtin_sel(x, y, z); +} + +int main() { + printf("%ld\n", cmovl(1, 42, 65)); + printf("%ld\n", cmovl(0, 42, 65)); + printf("%d\n", cmovi(1, 42, 65)); + printf("%d\n", cmovi(0, 42, 65)); + printf("%f\n", cmovd(1, 42., 65.)); + printf("%f\n", cmovd(0, 42., 65.)); +} |