#include<stdio.h>#include<stdlib.h>#include<stdint.h>#include"sys.h"#include"crisutils.h"/* this would be better to do in asm, it's an orgy in GCC inline asm now. *//* ACR will be clobbered. */#definecris_addoq(o,v)\asmvolatile("addoq\t%1, %0, $acr\n"::"r"(v),"i"(o):"acr");intmain(void){intx[3]={0x55aa77ff,0xccff2244,0x88ccee19};int*p,*t=x+1;cris_tst_cc_init();asmvolatile("setf\tzvnc\n");cris_addoq(0,t);cris_tst_cc(1,1,1,1);asmvolatile("move.d\t$acr, %0\n":"=r"(p));if(*p!=0xccff2244)err();cris_tst_cc_init();asmvolatile("setf\tzvnc\n");cris_addoq(4,t);cris_tst_cc(1,1,1,1);asmvolatile("move.d\t$acr, %0\n":"=r"(p));if(*p!=0x88ccee19)err();cris_tst_cc_init();asmvolatile("clearf\tzvnc\n");cris_addoq(-8,t+1);cris_tst_cc(0,0,0,0);asmvolatile("move.d\t$acr, %0\n":"=r"(p));if(*p!=0x55aa77ff)err();pass();return0;}