Annotation of qemu/tests/cris/check_abs.c, revision 1.1.1.2

1.1       root        1: #include <stdio.h>
                      2: #include <stdlib.h>
                      3: #include <stdint.h>
                      4: #include "sys.h"
                      5: #include "crisutils.h"
                      6: 
1.1.1.2 ! root        7: static inline int cris_abs(int n)
        !             8: {
1.1       root        9:        int r;
                     10:        asm ("abs\t%1, %0\n" : "=r" (r) : "r" (n));
                     11:        return r;
                     12: }
                     13: 
1.1.1.2 ! root       14: static inline void
1.1       root       15: verify_abs(int val, int res,
                     16:           const int n, const int z, const int v, const int c)
                     17: {
                     18:        int r;
                     19: 
                     20:        cris_tst_cc_init();
                     21:        r = cris_abs(val);
                     22:        cris_tst_cc(n, z, v, c);
                     23:        if (r != res)
                     24:                err();
                     25: }
                     26: 
                     27: int main(void)
                     28: {
                     29:        verify_abs(-1, 1, 0, 0, 0, 0);
                     30:        verify_abs(0x80000000, 0x80000000, 1, 0, 0, 0);
                     31:        verify_abs(0x7fffffff, 0x7fffffff, 0, 0, 0, 0);
                     32:        verify_abs(42, 42, 0, 0, 0, 0);
                     33:        verify_abs(1, 1, 0, 0, 0, 0);
                     34:        verify_abs(0xffff, 0xffff, 0, 0, 0, 0);
                     35:        verify_abs(0xffff, 0xffff, 0, 0, 0, 0);
                     36:        verify_abs(-31, 0x1f, 0, 0, 0, 0);
                     37:        verify_abs(0, 0, 0, 1, 0, 0);
                     38:        pass();
                     39:        return 0;
                     40: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.